全部问题 > 当前问题

D没看懂,不是p是数组的首地址,那*p是什么?

D没看懂,不是p是数组的首地址,那*p是什么?

不信考不过 2017-3-9 01:34:44

共 2 个回答

最佳答案

qqq 2017-3-9 09:58:27

p是一个指针数组,for循环的作用是让p[0]指向str数组的第一行元素首地址,p[1]指向str数组的第二行元素首地址,p[2]指向str数组的第三行元素首地址,p[3]指向str数组的第四行元素首地址。

由于p是一个数组,所以数组名p代表的是这个数组的首地址,也就是p[0]的地址,所以*p就是指针p[0]的值也就是str[0]的值。

不信考不过 2017-3-9 18:35:33

回复 qqq:恩..好吧,谢谢,

问题来自: 指针和二维数组
有以下程序段
  char str[ 4 ][ 12 ]={"aaa","bbb","ccc","ddd" }, *p[4];
  int i;
  for( i=0; i<4; i++ ) p[i]=str[i]; 
以下选项中不能正确引用字符串的是( )
A. *p[3]
B. p[3]
C. str[2]
D. *p
答案:A
解析:A错误 *p[3] 指的是字符'd'