Head First C 学习之存储器

方便记忆的思维导图:
Head First C 学习之存储器_第1张图片
C存储记忆导图.jpg

Head First C书中43页存储器图:


Head First C 学习之存储器_第2张图片
截图 2016-03-01 10时07分39秒.jpg

从图可以理解为,存储器从上到下越来越紧实,所以可以理解打了常量段代码段是不可更改的部分了,也就是只读区域。

看过很多有关C存储图,分的层次和命名有写区别,但是代码段 是相同的。
如图:

Head First C 学习之存储器_第3张图片
CStorage.jpg

区别1:

在Head First C图中的上方有命令行参数和环境变量command-line arguments and environment variables).

区别2:

在Head First C图中全局量段(Globals)被称作未初始化的数据段uninitialized data简称bss)。

区别3:

在Head First C图中常量段被称作数据段initialized data)加已初始化数据段才对。


指针进程存储器中真实编号的地址.
进程存储器是计算机为每一个进程分配的一个简版存储器,看起来就像一长串字节。

1、用&运算符找到变量保存在存储器中的地址。

int  x = 4;
printf("x lives at %p\n",&x);

2、指针变量是一个用用来保存存储器地址的变量。

int * address_of_x = &x;

3、有了存储器的地址,就可以读取保存在那里的数据了。

int value_stored = *adddress_of_x;

4、有了指针变量修改这个变量所指向地址的数据,可以再次使用*运算符。

*address_of_x = 99;

你可能感兴趣的:(Head First C 学习之存储器)