若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是 A)p=s; B)p=k; C)p=s[0]; D)k=s;

2025-04-27 22:36:15
推荐回答(2个)
回答1:

参考答案:我是这样认为的:*是指针运算符。我们曾可以这样去定义:int a[10],*p,**s;

如果在下面的语句中出现了*p=a;

这就意味着指针p已经指向数组的首地址,也就是a[0],

此时我们可认为指针p是一级指针.

如果在下面的语句中出现了*s=p,

这就意味着指针s指向了p的单元,而p指向了a[0]

此时s离数组的首地址形象的像隔了2级

因此称s为2级指针.

对于2级指针,有**s=*(*s)=*p=&a[0]

回答2:

b错,是因为把指针赋给指针了