标题:typedef 与 #define
只看楼主
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
结帖率:100%
已结贴  问题点数:20 回复次数:3 
typedef 与 #define
struct person
{
    char name[32];
    char data[1024];
    struct person * next;
} ;
我要计算结构体成员name 和 data 的大小,并用一个标识符 size表示它们,该怎么写啊。
搜索更多相关主题的帖子: typedef define char name data 
2017-09-10 12:57
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:5 
完全搞不懂你在说什么?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-09-10 14:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:15 

#include<stdio.h>
#include <stddef.h>

#define PN_OFFSET_SIZEOF(st,sm) printf("%s\t%d\t%d\n", #st"."#sm, offsetof(st, sm), sizeof(((st *)0)->sm))

typedef struct person
{
    char name[32];
    char data[1024];
    struct person * next;
} PERSON;

typedef struct abcdef
{
    char a1;
    int a2;
    short a3;
} ABCDEF;

int main()
{
    printf("结构成员\t偏移量\t大小\n");
    PN_OFFSET_SIZEOF(PERSON, name);
    PN_OFFSET_SIZEOF(PERSON, data);
    PN_OFFSET_SIZEOF(PERSON, next);
    printf("结构大小\t\t%d\n\n", sizeof(PERSON));
    PN_OFFSET_SIZEOF(ABCDEF, a1);
    PN_OFFSET_SIZEOF(ABCDEF, a2);
    PN_OFFSET_SIZEOF(ABCDEF, a3);
    printf("结构大小\t\t%d\n\n", sizeof(ABCDEF));
    return 0;
}
2017-09-10 15:33
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
得分:0 
回复 2楼 renkejun1942
额,我自己也有点懵b了

菜鸟一枚,求各位大神多多关照。
2017-09-10 20:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480590-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019506 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved