c语言结构体变量表示 a后面的struct xyz a;和b,d中后面的a;是什么意思c为什么不对
1个回答
展开全部
c 是错的。 typedef 用于定义一种变量类型 的别名
typedef xyz a; 中 xyz 不是 类型。 typedef struct xyz a; 则是定义别名。但不是声明和定义一个变量的对象。
b 是 声明 a 是 struct xyz 的一个对象,同时定义了 结构 xyz 含哪些成员。正确的。
d 声明 a 是 含哪些成员的结构(char x ;int y; float z;) 的一个对象,省略了 结构名称。允许的。
typedef xyz a; 中 xyz 不是 类型。 typedef struct xyz a; 则是定义别名。但不是声明和定义一个变量的对象。
b 是 声明 a 是 struct xyz 的一个对象,同时定义了 结构 xyz 含哪些成员。正确的。
d 声明 a 是 含哪些成员的结构(char x ;int y; float z;) 的一个对象,省略了 结构名称。允许的。
追问
总之用typedef就不是指struct里面的值了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询