(1)在C语言中,数组的指针是指数组在内存中的起始地址,数组元素的地址是指指数组元素在内存中的起始地址
(2)一维数组的数组名为一维数组的指针(其实地址)
设指针变量px的地址值等于数组指针x(即指针变量px指向数组的首元素),则:
x[i] 、 (px+i)、(x+i) 和px[i]具有完全相同的功能:访问数组的第i+1个数组元素
例如如下:
一共可以分为两大类,a[i]和*(p+i),又因为p=a,所以说,前面的两大项,p和a是可以互换的
也就是说p[i] <==> *(p+i)
注意:
-
指针变量和数组在访问数组中元素时,一定条件下其使用方法具有相同的形式,因为指针变量和数组名都是地址量
-
但指针变量和数组的指针(或叫数组名)在本质上不同,指针变量是地址变量,而数组的指针是地址常量,常量是写亖的,不可以改变
接下来,来几道例题可以先思考一下
这道题选D
如何理解a[]中的a是地址常量不能改变
-
p++ ,p-- (对)
-
a++, a-- (错)
-
a+1 ,*(a+2) (对)