数组首元素地址和数组地址的异同?

727 阅读1分钟

数组首元素地址和数组地址的异同?

数组首元素地址是指数组中第一个元素的存储地址,而数组地址是指整个数组占用的存储空间的起始地址。

相同点:

  1. 数组首元素地址和数组地址的值是相等的
  2. 数组首元素地址和数组地址都是指向数组的起始位置。
  3. 两者都可以用来访问数组中的元素。

不同点:

  1. 数组首元素地址只是指向第一个元素的地址,而数组地址是指整个数组占用的存储空间的起始地址。
  2. 数组首元素地址只占用一个指针的存储空间,而数组地址占用整个数组的存储空间。
  3. 数组首元素地址可以通过指针变量来表示,而数组地址可以通过数组名来表示。

例如int a[10],

  • a的值是数组首元素地址,所以a+1就是第二个元素的地址,int类型占用4个字节,所以a与a+1两者相差4。
  • &a是数组地址,所以&a+1就是向后移动(10*4)个单位,所以&a与&a+1两者相差40。
  • 同:数组首元素地址和数组地址的值是相等的。