数组首元素地址和数组地址的异同?
数组首元素地址是指数组中第一个元素的存储地址,而数组地址是指整个数组占用的存储空间的起始地址。
相同点:
- 数组首元素地址和数组地址的值是相等的
- 数组首元素地址和数组地址都是指向数组的起始位置。
- 两者都可以用来访问数组中的元素。
不同点:
- 数组首元素地址只是指向第一个元素的地址,而数组地址是指整个数组占用的存储空间的起始地址。
- 数组首元素地址只占用一个指针的存储空间,而数组地址占用整个数组的存储空间。
- 数组首元素地址可以通过指针变量来表示,而数组地址可以通过数组名来表示。
例如int a[10],
- a的值是数组首元素地址,所以a+1就是第二个元素的地址,int类型占用4个字节,所以a与a+1两者相差4。
- &a是数组地址,所以&a+1就是向后移动(10*4)个单位,所以&a与&a+1两者相差40。
- 同:数组首元素地址和数组地址的值是相等的。