Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78533
  • 博文数量: 25
  • 博客积分: 416
  • 博客等级: 一等列兵
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-23 21:01
文章分类

全部博文(25)

文章存档

2013年(8)

2012年(17)

我的朋友

分类: C/C++

2012-02-10 21:04:12

对offsetof的理解:

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

参照
typedef struct  {
   int   min;
  char  ch;
  char  ch1;
  int    min1;
}str;

printf("%x", (unsigned long) ( &( (struct str *)0->min ) ) );
printf("%x", (unsigned long) ( &( (struct str *)0->ch) ) )
;
printf("%x", (unsigned long) ( &( (struct str *)0->min1 ) ) );
printf("%x", (unsigned long) ( &( (struct str *)0->ch1) ) );

result:
0
4
5
8

阅读(836) | 评论(0) | 转发(0) |
0

上一篇:char p[] 和 char *p

下一篇:typedef与#define

给主人留下些什么吧!~~