指针与数组
假定a[n]是一个元素类型为int的一维数组,该数组占用4n个字节的存储空间,其存储空间的首地址,亦即第一个元素a[0]的存储地址,通过使用数组名a可以访问到这个地址。由数组名可以得到数组中第一个元素的地址,或者说数组名是指向第一个元素的指针,并且数组名不可能指向其他位置,所以可把数组名看作为一个指针常量,为指向元素类型的指针类型
对于上面假定的一维数组a[n],下标为i的元素a[i]的存储地址为a+i,因为a[i]是a所指向的a[0]元素之后的第i个元素。根据指向a[i]的指针a+i,可利用间接访问操作符*访问a[i]元素,其访问表达式为*(a+i)。所以访问数组元素有两种方式,一种是下标方式,另一种是指针方式。利用中括号运算符访问数组元素的方式称为下标方式,利用星号运算符访问数组元素的方式称为指针方式