深入解析C语言数组和指针

  指针是C语言的重点,同时也是让初学者认为最难理解的部分。有人说它是C语言的灵魂,只有深入理解指针才能说理解了C语言。暂且撇开这些观点不谈。这章是我在阅读《C和指针》这本书的读书笔记。在谈指针的同时我们也要谈谈数组,数组可以说和指针密不可分的,故把它俩放在一起谈。

一.指针 1.初级指针

内存和地址

  硬件存储中有一个值得注意的地方是边界对齐。在要求边界对齐的机器上,整型值存储的起始位置只能是特定的字节,通常是2或4的倍数。对于程序员还要知道的是:(1)内存中每个位置由一个独一无二的地址标识;(2)内存中每个位置都包含一个值。

  下面的例子显示了内存中的5个字的内容。

深入解析C语言数组和指针

  但是记住他们的地址太麻烦了,所以高级语言提供通过名字而不是地址来访问内存位置的功能,下面用名字代替地址:

深入解析C语言数组和指针

  这些名字我们称之为变量。名字和内存位置之间的关联并不是硬件提供的,而是编译器为我们实现的,硬件仍然通过地址访问内存位置。

值和类型

  假设我们对上面的第三个位置声明如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxdfs.html