这个c语言题目求解,a,b,c,d有什么不一样,【0】不是表示第一个吗,为什么a,b为1呢,答案选
这个c语言题目求解,a,b,c,d有什么不一样,【0】不是表示第一个吗,为什么a,b为1呢,答案选d...
这个c语言题目求解,a,b,c,d有什么不一样,【0】不是表示第一个吗,为什么a,b为1呢,答案选d
展开
1个回答
展开全部
注意以下几个概念。
首先,y[4]的意义是声明了包含4个pd的结构体数字,即y数组里有四个元素,每个元素都是一个结构体。y[4]=后面的大括号,是在给y数组里第一个结构体赋值,y数组里后面三个结构体元素没有赋值被缺省。
第二,要明白数组名y,其实质是个指针,y指针指向这个数组的第一个元素,这是关键。楼主可以去复习一下指针的访问方式。*y相当于就是y指针指向的变量。故ab两个选项,第一个y数组元素(是一个结构体)里面的,char型code数组,的第一个元素是1,因为code数组整体被赋值100,这个不过多解释。
第三,再说说d选项为什么错,前面说过了,*y指的是y指针指向的变量,你不可以使用:变量加->符号的形式来放问该变量里面的元素,只有指针才可以使用箭头符号访问其中元素。
回答完毕。
首先,y[4]的意义是声明了包含4个pd的结构体数字,即y数组里有四个元素,每个元素都是一个结构体。y[4]=后面的大括号,是在给y数组里第一个结构体赋值,y数组里后面三个结构体元素没有赋值被缺省。
第二,要明白数组名y,其实质是个指针,y指针指向这个数组的第一个元素,这是关键。楼主可以去复习一下指针的访问方式。*y相当于就是y指针指向的变量。故ab两个选项,第一个y数组元素(是一个结构体)里面的,char型code数组,的第一个元素是1,因为code数组整体被赋值100,这个不过多解释。
第三,再说说d选项为什么错,前面说过了,*y指的是y指针指向的变量,你不可以使用:变量加->符号的形式来放问该变量里面的元素,只有指针才可以使用箭头符号访问其中元素。
回答完毕。
更多追问追答
追答
前面打错字了,是声明了包含4个pd的结构体数组不是数字
追问
谢谢你打这么多,我还有点疑问,为什么y【4】中只把100赋予它,后面不是还有个10吗,为什么又把100赋值给char code【5】了,还是说code【0】总是等于1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询