免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7130 | 回复: 10
打印 上一主题 下一主题

在struct结构中#define是什么意思? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-29 17:40 |只看该作者 |倒序浏览
看一个工程(transmission)的代码,其中有个头文件中包含以下代码:
typedef struct tr_benc
{
#define TYPE_INT  1
#define TYPE_STR  2
#define TYPE_LIST 4
#define TYPE_DICT 8
    char   type;
    union
    {
        int64_t i;
        struct
        {
            int    i;
            int    nofree;
            char * s;
        } s;
        struct
        {
            int alloc;
            int count;
            struct tr_benc * vals;
        } l;
    } val;
} tr_benc;

不明白的是:为什么要将那4个#define放在struct结构定义里面?放里面仅仅是便于理解呢?还是有什么特殊含义/用途/语法之类??谢谢。

[ 本帖最后由 ThinkMachine 于 2008-10-29 17:41 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-10-29 17:41 |只看该作者
感觉象JAVA中的静态变量?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2008-10-29 17:55 |只看该作者
需要结合使用这个struct的代码具体看一下

论坛徽章:
0
4 [报告]
发表于 2008-10-29 18:16 |只看该作者
就是下面那个 char   type; 用的,放的近,看着方便

论坛徽章:
0
5 [报告]
发表于 2008-10-29 18:32 |只看该作者
其实跟放在外面是一回事,没有区别。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2008-10-29 18:43 |只看该作者
原帖由 aoegiss 于 2008-10-29 18:16 发表
就是下面那个 char   type; 用的,放的近,看着方便


呵呵,感觉是这么回事

论坛徽章:
0
7 [报告]
发表于 2008-10-29 19:20 |只看该作者
想明白了,的确是跟放在外面一样,没区别。老外真是什么样的代码风格都有啊。。。

论坛徽章:
0
8 [报告]
发表于 2008-10-29 19:44 |只看该作者
原帖由 ThinkMachine 于 2008-10-29 17:40 发表
看一个工程(transmission)的代码,其中有个头文件中包含以下代码:
typedef struct tr_benc
{
#define TYPE_INT  1
#define TYPE_STR  2
#define TYPE_LIST 4
#define TYPE_DICT 8
    char   type;
   ...


往外放 也成啊

论坛徽章:
0
9 [报告]
发表于 2008-10-29 20:44 |只看该作者
原帖由 ThinkMachine 于 2008-10-29 19:20 发表
想明白了,的确是跟放在外面一样,没区别。老外真是什么样的代码风格都有啊。。。

我不是老外,我也这么放,你看得哪里得代码啊

论坛徽章:
0
10 [报告]
发表于 2008-10-29 20:57 |只看该作者
一样的啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP