找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

联合体名,结构体名,可以写在体尾,也可以写在关键字后 对吗?

查看数: 4372 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-10-20 18:43

正文摘要:

回复

ID:140343 发表于 2016-10-20 18:47
反复再把你刚才给我讲的琢磨了一次,基本消化,谢谢你
ID:140343 发表于 2016-10-20 18:45
typedef struct
{
   ....
} abc;

struct abc
{
   ....
}下面等价吧,对吗?一样的,
此时的,abc,都是表示为结构体的数据类型名
ID:140343 发表于 2016-10-20 18:45

#define struct
{
   ....
} abc 可不可以用这个关键字?
ID:1 发表于 2016-10-20 18:44
应该是这样
struct   abc
{
   ......
};
typedef   struct  abc       abc;

第一条语句中的abc是结构体名称,要用它定义变量要写struct  abc  变量名;
第二句给struct  abc起了别名叫abc,以后直接可以用abc定义变量,
如   abc   变量名;
之前写的是将两条语句合为一条写,这样可以省略结构体名称不写。
ID:140343 发表于 2016-10-20 18:44
这个abc与 struct等价吧,在定义新的变量名的时候,任意一个,即可,对不?
晕,不对不对,关键我看错了
typedef 这是一个宏定义的关键字,是吧
ID:1 发表于 2016-10-20 18:44
还有一种常见的写法
typedef struct
{
   ....
} abc;
意思是给结构体类型起个别名叫abc,后面就可以直接用abc来定义变量,而不需要写
struct   结构体名称   变量名列表;
ID:140343 发表于 2016-10-20 18:44
哦,写在后面,就可以直接定义联合体或结构体的变量了。对吧,写在前面,只能是一种数据类型耍已,并非实际变量。这样理解对吧
ID:1 发表于 2016-10-20 18:43
不是的。
写在union或struct后面的是联合体或结构体(类型)名称。
而写在末尾的是用类型定义的变量名,这样就没有定义类型名。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表