c总结 指针数组和数组指针

数组指针

数组指针:首先它是一个指针,指向一个数组,即指向数组的指针;在32 位系统下永远是占4 个字节,数组指针指向的是数组中的一个具体元素,而不是整个数组,所以数组指针的类型和数组元素的类型有关。 

定义:类型 (*p)[ n]

c总结 指针数组和数组指针

()优先级高,说明p是一个指针,指向一个长度为n的指定类型的一维数组,执行p+1时,p要跨过n个指定类型数据的长度。

例如:

c总结 指针数组和数组指针

c总结 指针数组和数组指针

结果为:

c总结 指针数组和数组指针

指针数组的输出形式:

表示数组中i列j行的元素:*(p[i]+j)、*(*(p+i)+j)、(*(p+i))[j]、p[i][j]

指针数组

指针数组:它本质是一个数组,其中数组的每一个元素都是一个指针。

定义 类型 *p[n];

c总结 指针数组和数组指针

[]优先级高,先与p结合成为一个数组,再由类型*说明这是哪个类型的指针数组,它有n个指针类型的数组元素。

例如:

c总结 指针数组和数组指针

c总结 指针数组和数组指针

结果为:

c总结 指针数组和数组指针