在C语言中有如下结论:
一、在表达式中数组名都是其首元素的地址
但有两种情况除外:
(1)当数组名作为sizeof操作符的操作数时,sizeof返回的是整个数组长度,而不是指向数组的指针长度
(2)当数组名作为&操作符的操作数时,所产生的是一个指向数组的指针,而不是一个指向指针常量的指针
二、在任何变量的前面加&,就是取这个变量的地址。
三、举例:
若有二维数组:a[x][y],则有:
(1)a=&a[0]
(2)a[0]=&a[0][0]=*a
(3)&a=整个二维数组的起始地址
(4)a+1=&a[0]+1=&a[1]
(5)a[0]+1=&a[0][0]+1=&a[0][1]
(6)&a+1=二维数组的结束地址
时间: 2024-08-09 06:23:59