共计 391 个字符,预计需要花费 1 分钟才能阅读完成。
引言
指针数组:元素为指针的数组 int* p[5];
数组指针:指向数组的指针 int(*p)[5]
一、汉字名称
指针数组是一个数组,数组指针是一个指针。就是以后面的词(宾语)决定。举例:红苹果 是一个苹果
苹果红 是一种颜色
二、C 语言定义
int* p[5] []优先级高于 *,所以 p[5]先定义一个数组,int* 再把 p[5](包括数组中所有元素)定义为指针。此时 p 仍然和 [5] 以数组形式存在,只是‘p[5]’这个数组中的元素都被定义成了指针。int(*p)[5] 括号优先级高,* p 定义为一个指针,我们把 * p 看成一个整体,用 a 代替,变为 int a[5]; 可以看出这就是一个普通数组的定义。只不过指向数组地址的 a 变成了 *p,p 是一个二级指针,他的值 *p=a, 而 a 是数组的指针。此时 * p 以指针的形式存在。这个指针指向数组(第一个元素的地址)。
注意:到底是“数组”还是“指针”,这里边的主角是 p。
链接 Raw 编辑
正文完