问题 单项选择题

有定义语句:int*p[4];以下选项中与此语句等价的是( )。

A) int p[4];
B) int **p;
C) int*(p[4]);
D) int(*p)[4];

答案

参考答案:C

解析: int *p[2];首先声明了一个数组,数组的元素是int型的指针。int(*p)[2];声明了一个指针,指向了一个有两个int元素的数组。其实这两种写法主要是因为运算符的优先级,因为[]的优先级比*高。所以第一种写法,p先和[]结合,所以是一个数组,后与*结合,是指针。后一种写法同理。

单项选择题
单项选择题