为什么 C 语言中声明结构体类型变量时必须加上 struct

如题所述

这里老版本的规范struct A {int a ;} ;准确来说struct A才是一种类型而A是未定义的
因此以前人们喜欢把typedef和struct一起用typedef struct tagA {int a ;} A ;这样就能少写struct
现在由于C++规范的影响,就不这样使用了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-18
类型是类,变量是类的一个对象,c中的普通变量类型是在头文件中定义好了的,所以你可以拿来就定义变量,如int型,而用户想要创建一个新类型的必须定义一个此类型的模板这就是类,有了类才可以创建这个累的一个实例就是变量或者说此类的一个对象
第2个回答  2015-09-11
struct A{};
这时候A还不能作为声明结构体变量的名字
要用typedef A{} A;才可以不加struct 声明结构体变量 A a1,a2 a_arry[3];
相似回答