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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。