早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c语言->和.对于以下变量定义,以下表达式正确的是:()structnode{chars[10];intk;}p[4];A.p->k=2B.p[0].s="abc"C.p[0]->k=2D.p->s='a'我这样理解:p指代的是地址即p[0]的地址所以p->k=2等价于p[0].k=2;->是指针特用

题目详情
c语言->和 .
对于以下变量定义,以下表达式正确的是:()
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;
->是指针特用的
答案我知道,我想知道的是 结构中-> 和.的区别.
▼优质解答
答案和解析
你的理解是对的,答案选A.
B错,只有在声明字符数组的时候才能将一个字符串赋给数组.如:char a[5] = "abc";而
char a[5]; a="abc";这种写法是错的.
C错,p[0]不是指针,不能用->.
D错,不能将一个 const char 类型的字符 'a' 赋给 数组 s.