本博客主要内容为 “小甲鱼” 视频课程《带你学C带你飞》【第一季】 学习笔记,文章的主题内容均来自该课程,在这里仅作学习交流。在文章中可能出现一些错误或者不准确的地方,如发现请积极指出,十分感谢。
也欢迎大家一起讨论交流,如果你觉得这篇文章对你有所帮助,记得评论、点赞哦 ~(。・∀・)ノ゙
1. 内存是如何存放变量的?
通过变量名对变量进行访问和存储是为了方便程序员而设计的,其实在内存中完全没有存储变量名的必要。因为编译器知道具体每一个变量名对应的存放地址,所以当你读取某个变量的时候,编译器就会找到变量名所在的地址,并根据变量的类型读取相应范围的数据。比如下面这张图
在上图中,左侧表示变量名与地址之间的关系,右边表示地址与存放的值之间的关系。我们可以看到,变量名 f 对应一个地址10005,123 占据了10005-10008 的 4 个地址(因为 C 语言中的 int 型变量占据 4 个字节)。所以可以根据地址和数据的类型,来确定具体存放的是什么。
2. 指针和指针变量
通常我们所说的指针,就是地址的意思。C 语言中有专门的指针变量用于存放指针,跟普通变量不同