标题:
联合体名,结构体名,可以写在体尾,也可以写在关键字后 对吗?
[打印本页]
作者:
51hei小林
时间:
2016-10-20 18:43
标题:
联合体名,结构体名,可以写在体尾,也可以写在关键字后 对吗?
0.png
(19.9 KB, 下载次数: 158)
下载附件
2016-10-20 18:43 上传
作者:
admin
时间:
2016-10-20 18:43
不是的。
写在union或struct后面的是联合体或结构体(类型)名称。
而写在末尾的是用类型定义的变量名,这样就没有定义类型名。
作者:
51hei小林
时间:
2016-10-20 18:44
哦,写在后面,就可以直接定义联合体或结构体的变量了。对吧,写在前面,只能是一种数据类型耍已,并非实际变量。这样理解对吧
作者:
admin
时间:
2016-10-20 18:44
还有一种常见的写法
typedef struct
{
....
} abc;
意思是给结构体类型起个别名叫abc,后面就可以直接用abc来定义变量,而不需要写
struct 结构体名称 变量名列表;
作者:
51hei小林
时间:
2016-10-20 18:44
这个abc与 struct等价吧,在定义新的变量名的时候,任意一个,即可,对不?
晕,不对不对,关键我看错了
typedef 这是一个宏定义的关键字,是吧
作者:
admin
时间:
2016-10-20 18:44
应该是这样
struct abc
{
......
};
typedef struct abc abc;
第一条语句中的abc是结构体名称,要用它定义变量要写struct abc 变量名;
第二句给struct abc起了别名叫abc,以后直接可以用abc定义变量,
如 abc 变量名;
之前写的是将两条语句合为一条写,这样可以省略结构体名称不写。
作者:
51hei小林
时间:
2016-10-20 18:45
#define struct
{
....
} abc 可不可以用这个关键字?
作者:
51hei小林
时间:
2016-10-20 18:45
typedef struct
{
....
} abc;
struct abc
{
....
}下面等价吧,对吗?一样的,
此时的,abc,都是表示为结构体的数据类型名
作者:
51hei小林
时间:
2016-10-20 18:47
反复再把你刚才给我讲的琢磨了一次,基本消化,谢谢你
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1