查看: 2840|回复: 9

[其他] 共用体应该如何声明?

[复制链接]

该用户从未签到

29

主题

104

帖子

0

中级会员

Rank: 3Rank: 3

积分
355
最后登录
2019-1-28
发表于 2016-6-13 17:14:13 | 显示全部楼层 |阅读模式
大家好,我在main.c中定义了一个共用体,如下
QQ截图20160613170258.png
对于共用体变量Receive_State_Flag我在另一个函数中(uart.c)也要用到,
但是在使用该变量之前要先声明,于是我在uart.c中做了如下声明,
extern enum Receive_State Receive_State_Flag
编译后出现如下错误
QQ截图20160613171051.png
不知道该怎么办了,我百度了一些办法,没有解决,主要是我对共用体的使用不太熟悉,不知道定义之后,要在另一个函数中使用该变量,该怎么声明?希望能够得到大家的解答。
我知道答案 目前已有9人回答
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24901
最后登录
2025-7-21
发表于 2016-6-13 17:39:00 | 显示全部楼层
楼主有点C语言概念不清啊。
共用体是union,定义:
union 共用体名

{

成员表列

}变量表列;
枚举类型,是enum,这个是用来定义常量的。
enum 变量名{枚举名1,枚举名2,……枚举名n};

你可以找本C语言书,一般都有详细讲解的,而且会给出例子。
回复 支持 反对

使用道具 举报

该用户从未签到

29

主题

104

帖子

0

中级会员

Rank: 3Rank: 3

积分
355
最后登录
2019-1-28
 楼主| 发表于 2016-6-13 18:11:58 | 显示全部楼层
小恩GG 发表于 2016-6-13 17:39
楼主有点C语言概念不清啊。
共用体是union,定义:
union 共用体名

恩,您说的对,我写错了,我是定义了一个枚举类型,那我能够在两个文件中同时使用Receive_State_Flag这个变量吗?应该怎么声明一下?我确实是找了好多资料没找到答案,才过来提问的,资料上只讲了怎么定义,没讲怎么用,确实没看明白,因为这个问题,困扰了一下午了,还麻烦您给解答下吧。
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
    发表于 2016-6-13 19:11:13 | 显示全部楼层
    天天都有好心情 发表于 2016-6-13 18:11
    恩,您说的对,我写错了,我是定义了一个枚举类型,那我能够在两个文件中同时使用Receive_State_Flag这个 ...

    直接typedef在.h中就好了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2016-6-13 23:12:51 | 显示全部楼层
                 union
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24901
    最后登录
    2025-7-21
    发表于 2016-6-14 11:12:07 | 显示全部楼层
    天天都有好心情 发表于 2016-6-13 18:11
    恩,您说的对,我写错了,我是定义了一个枚举类型,那我能够在两个文件中同时使用Receive_State_Flag这个 ...

    http://blog.csdn.net/learnerz/article/details/6395966
    看看这个链接。
    使用,其实就是把一批的常量定义到一起。常量之间的关系,你可以看看枚举类型的作用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-11-4 16:56
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    602

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1842
    最后登录
    2020-8-25
    发表于 2016-6-14 12:00:48 | 显示全部楼层
    enum叫枚举
    union叫联合
    贵庚
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    104

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    355
    最后登录
    2019-1-28
     楼主| 发表于 2016-6-14 13:35:01 | 显示全部楼层
    moyanming2013 发表于 2016-6-14 12:00
    enum叫枚举
    union叫联合
    贵庚

    恩,感谢您的指正,现在大四,在实习,马上就毕业了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24901
    最后登录
    2025-7-21
    发表于 2016-6-14 15:09:37 | 显示全部楼层
    天天都有好心情 发表于 2016-6-14 13:35
    恩,感谢您的指正,现在大四,在实习,马上就毕业了

    到图书馆找本C语言书看看,书上都讲的很清楚的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    104

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    355
    最后登录
    2019-1-28
     楼主| 发表于 2016-6-14 15:20:21 | 显示全部楼层
    小恩GG 发表于 2016-6-14 15:09
    到图书馆找本C语言书看看,书上都讲的很清楚的。

    恩,我C语言基础比较差,所以自己买了两本书正在看
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 12:14 , Processed in 0.109108 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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