-
int *p[1024];
是指针的数组这个数组有1024个元素,每个元素都是一个指向int型的指针
你可以以变量名为起点“先右后左,括号优先”地解读变量的声明。
必如上面这个:
p是变量名,先右,“[”说明它是个数组,然后找到与“[”的匹配的另一半“]”,中间是1024,则说明它含有1024个元素;
再看左边,“*”说明它的元素是指针类型的;
再看右边,右边已经没有了;
再看左边,“int”说明指针是指向int型的。
亦即:p是一个数组,它包含1024个元素,每个元素是个指针,它(该指针)是指向int型的。再看
int (*p)[1024];p是变量名,先右,右边“)”是一对括号的右半部分,所以继续;
再看左边,“*”说明它是个指针,至此括号内的已经解读完,把括号内的内容看做整体,继续;
再看右边,“[”说明它(括号中的全部内容)是个数组,然后找到与“[”匹配的另一半“]”,中间是1024,则说明它含有1024个元素;
再看左边,“int”说明它的元素是int型的。
亦即:p是个指针,它指向一个数组,该数组包含1024个元素,每个元素是个int型数据。推荐一本书,《C专家编程》,这个方法在上面有讲。
欢迎继续讨论。












