c语言结构体类型的本名
首先,定义结构体的标准语法为
在c语言中,定义结构体的标准语法是:struct A{};A是这个结构体的【**本名**】。在使用本名定义一个新的结构体时,必须加上struct:例如struct A a;下面的代码是错误的:A a ; /* 编译错误!定义结构的实例时必须用struct关键字 */
由typedef定义的结构体别名
在创建新的结构体变量时,如果不想加**struct**,就需要向结构体写入一个别名。定义别名需要用到关键字**typedef**
给结构体起一个别名,如:typedef struct A{...}B;这就为结构体A定义了一个别名B。以后写B a;就等价于写struct A a 。此时的B是一个类型,类似于int char等,
还有一种情况,定义一个结构体指针
给结构体指针起一个别名,如:typedef struct A{...}* B;A为结构体本名,而B为结构体别名这就为结构体指针A * 定义了一个别名B。以后写B a ; 就等价于写struct A *a 。注意!!这里是用typedef给struct A{...} *起一个别名B,而不是给struct A{...}起一个别名*B