问一道关于C程结构指针的题~~麻烦计算机大神们帮个忙啊~~ 5
假定有如下定义,structst{charname[10];intscore;}a[3],*p=a;请问哪个用法是正确的?A.p->name="Tom";B.*p,nam...
假定有如下定义,
struct st {
char name[10];
int score;
}a[3],*p=a;
请问哪个用法是正确的?
A.p->name="Tom";
B.*p,name[0]='B';
c.(*p)->name[0]='C';
D.*(*p).name='D'
好像概念定义的东西比较多,指针也学的不是很好,望大神们能把每个答案讲解下,帮助理解,感激不尽~~
首先感谢各位亲们的回答~我也觉得是A,不过答案显示D,所以不是很理解,呵呵~~也许是答案错了。。不过真心的指针和二级指针啥的不是很懂。。不好意思,B答案不是逗号,打错了,*p.name[0]='B'; 展开
struct st {
char name[10];
int score;
}a[3],*p=a;
请问哪个用法是正确的?
A.p->name="Tom";
B.*p,name[0]='B';
c.(*p)->name[0]='C';
D.*(*p).name='D'
好像概念定义的东西比较多,指针也学的不是很好,望大神们能把每个答案讲解下,帮助理解,感激不尽~~
首先感谢各位亲们的回答~我也觉得是A,不过答案显示D,所以不是很理解,呵呵~~也许是答案错了。。不过真心的指针和二级指针啥的不是很懂。。不好意思,B答案不是逗号,打错了,*p.name[0]='B'; 展开
7个回答
展开全部
A正确。
->是指向运算符,引用正确。
B,因为“.”的优先于“*”应该改成(*p).name[0]='B';
C,D就不解释了 ,
个人见解 欢迎指教。
->是指向运算符,引用正确。
B,因为“.”的优先于“*”应该改成(*p).name[0]='B';
C,D就不解释了 ,
个人见解 欢迎指教。
追问
首先谢谢~我也觉得是A,不过答案显示D,所以不是很理解,呵呵~~也许是答案错了。。不过真心的指针和二级指针啥的不是很懂。。
追答
后面有正确答案 呵呵 不好意思 忽略了name是字符串数组的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d正确,*p表示指向的结构体数组中第一个元素,然后将name成员数组的第一个元素赋值为D。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询