当结构体开头的名称和结构体末尾的名称不同时,这意味着什么?例如:
struct book{
char title[50];
int year;
}boo;
或者例如
typedef struct book{
char title[50];
int year;
}boo;
在第一种情况下,您定义一个结构并立即创建其类型的变量。
struct book{
char title[50];
int year;
}boo; // <== boo is already a variable, you can start using it; boo.year = 2019;
在第二个示例中,您创建了一个 typedef 表示“boo”声明现在与您的结构相同,因此您可以随后使用该“boo”创建变量。在这种情况下,在声明结构时不会创建任何变量。
typedef struct book{
char title[50];
int year;
}boo;
boo a, b; // <== here you create variables
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)