《嵌入式Linux与物联网软件开发——C语言内核深度解析》一1.5 C语言如何操作内存
本节书摘来自异步社区《嵌入式Linux与物联网软件开发——C语言内核深度解析》一书中的第1章,第1.5节,作者朱有鹏 , 张先凤,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.5 C语言如何操作内存 1.5.1 C语言对内存地址的封装 前面一直谈内存,其间虽然穿插一些C语言的内容,但还不够细致、深入。本节将深入分析C语言的内存地址封装,如用变量名来访问内存、数据类型的含义、函数名的含义。下面以C代码实例分析。 int a; a = 5; a += 4; // 结果a等于9 下面结合内存来解析C语言语句的本质。 int a:编译器帮我们申请了一个int类型的内存格子(长度是4字节,地址是确定的,但是只有编译器知道,我们是不知道的,也不需要知道),并且把符号a和这个格子绑定。 a = 5:编译器发现我们要给a赋值,就会把这个值5丢到符号a绑定的那个内存格子中。 a += 4:编译器发现我们要给a加值,a += 4等效于a = a + 4,编译器会先把a原来的值读出来,然后给这个值加4,再把加之后的和写入a里面去,最后这个格子里面存储的内容就是9。 C语言中数据类型的本质含义,...