数组指针和指针数组

数组指针

数组指针是指向数组的指针,本质为指针,指向的对象是数组。

指针数组

指针数组是存放指针的数组,本质为数组。

由于“[ ]”的优先级高于“ * ”的优先级,指针数组与数组指针的表达可做如下表示:

 //指针数组  p1先与“[ ]”结合构成一个包含10个元素的数组,int*表示的则是数组的内容。
*int *p1[10];   

//数组指针  p2先与“ * ”构成指针定义,int表示数组内容,[10]表示数组内元素个数。
int (*p2)[10];

在一维数组中,数组名表示指向首元素的首地址,是一个指向普通变量的指针常量,当对其+1时偏移量是一个普通数据类型的内存大小。而在数组名前加上取地址符&后,表示的就是一个指向数组的指针常量对其+1时偏移量是一个数组的内存大小。

你可能感兴趣的:(数组指针和指针数组)