【急问C语言】c[2].name[0]是什么意思?

struct person[char name[9]; int age;];
struct person [c10]={{"John",17},{"Paul",19},{"Mary",18},{"Adam",16}}

printf("%c",c[2].name[0]);
输出的是什么意思?
可否说说具体过程?c[2].name[0是什么含义?

你结构体定义有点问题(用花括号,不是中括号哦)!
c[2].name[0]是对结构体成员的应用,即就是name和age的应用(引用结构体变量中的数据有三种:1,结构体变量名.成名名;2,指针变量名->成员名;3,(*指针变量名).成员名)。
因为c是数组,且在c语言中下标从0开始,所以c[2]={"Mary",18}; 而Mary是结构体中的name,18是结构体中的age,所以,要是是c[2].name它则等于Mary;由于name也是由数组构成,而name[0]=M,所以c[2].name[0]=M;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-19
M
第2个回答  2011-06-19
你确定你的语句没有错?
大概意思我看出来了
显示定义了一个结构体
再用定义的结构体声明一个数组
c[2].name[0]的意思就是取数组c里面的第3个,也就是{"Mary",18}
然后再去name[0],也就是name数组里面的第一个字母,也就是M
第3个回答  2011-06-19
c[2] 就是 ,{"Mary",18}
.name[0] 就是 M
相似回答