C语言stddef头文件(stddef.h)中offsetof宏的用法及代码示例。
用法:
offsetof (type,member)
返回成员偏移
返回的值是类型的无符号整数值size_t与指定字节之间的字节数成员及其结构的开始。
参数
- type
- 一种类型,其中成员是有效的会员指定人。
- member
- 的成员类型。
返回值
类型值size_t偏移值为成员在类型。示例
/* offsetof example */
#include <stdio.h> /* printf */
#include <stddef.h> /* offsetof */
struct foo {
char a;
char b[10];
char c;
};
int main ()
{
printf ("offsetof(struct foo,a) is %d\n",(int)offsetof(struct foo,a));
printf ("offsetof(struct foo,b) is %d\n",(int)offsetof(struct foo,b));
printf ("offsetof(struct foo,c) is %d\n",(int)offsetof(struct foo,c));
return 0;
}
输出:
offsetof(struct foo,a) is 0 offsetof(struct foo,b) is 1 offsetof(struct foo,c) is 11 |
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C offsetof function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。