更新图片链接
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
|
||||
如果我们写C++的程序,就要知道栈和堆的概念,程序运行时所需的内存空间分为 固定部分,和可变部分,如下:
|
||||
|
||||

|
||||

|
||||
|
||||
固定部分的内存消耗 是不会随着代码运行产生变化的, 可变部分则是会产生变化的
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
想要算出自己程序会占用多少内存就一定要了解自己定义的数据类型的大小,如下:
|
||||
|
||||

|
||||

|
||||
|
||||
注意图中有两个不一样的地方,为什么64位的指针就占用了8个字节,而32位的指针占用4个字节呢?
|
||||
|
||||
@@ -109,7 +109,7 @@ CPU读取内存不是一次读取单个字节,而是一块一块的来读取
|
||||
|
||||
第一种就是内存对齐的情况,如图:
|
||||
|
||||

|
||||

|
||||
|
||||
一字节的char占用了四个字节,空了三个字节的内存地址,int数据从地址4开始。
|
||||
|
||||
@@ -117,7 +117,7 @@ CPU读取内存不是一次读取单个字节,而是一块一块的来读取
|
||||
|
||||
第二种是没有内存对齐的情况如图:
|
||||
|
||||

|
||||

|
||||
|
||||
char型的数据和int型的数据挨在一起,该int数据从地址1开始,那么CPU想要读这个数据的话来看看需要几步操作:
|
||||
|
||||
@@ -145,4 +145,4 @@ char型的数据和int型的数据挨在一起,该int数据从地址1开始,
|
||||
|
||||
-----------------------
|
||||
|
||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码.jpg width=450> </img></div>
|
||||
<div align="center"><img src='https://file1.kamacoder.com/i/algo/01二维码.jpg' width=450> </img></div>
|
||||
|
||||
Reference in New Issue
Block a user