c语言->和 .

选择题对于以下变量定义,以下表达式正确的是:()structnode{chars[10];intk;}p[4];A.p->k=2B.p[0].s="abc"C.p[0]-... 选择题
对于以下变量定义,以下表达式正确的是:()
struct node{
char s[10];
int k;
}p[4];
A.p->k=2 B.p[0].s="abc" C.p[0]->k=2 D.p->s='a'

我这样理解:
p指代的是地址 即p[0]的地址
所以p->k=2 等价于p[0].k=2;
->是指针特用的

答案我知道,我想知道的是 结构中-> 和.的区别.
展开
 我来答
dongyue2008
推荐于2018-03-20 · TA获得超过3602个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:583万
展开全部
你的理解是对的,答案选A。
B错,只有在声明字符数组的时候才能将一个字符串赋给数组。如:char a[5] = "abc";而
char a[5]; a="abc";这种写法是错的。
C错,p[0]不是指针,不能用->。
D错,不能将一个 const char 类型的字符 'a' 赋给 数组 s。
自动印象
2011-02-17 · TA获得超过186个赞
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
->运算是间接寻址,比.运算的寻址速度更快。
而且你用多指针的话会发现指针用->这种调用方式更简洁,几乎没人会使用p[0].k或*p.k这样的调用方式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南方小智
2011-02-17 · TA获得超过836个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:254万
展开全部
自己到编译器上去试一下撒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式