在Linux中,offsetof是一個宏定義,用于獲取結構體中成員的偏移量。
具體用法如下:
#include <stddef.h>
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
參數說明:
使用時,可以通過調用該宏來獲取結構體中成員的偏移量,如下所示:
#include <stddef.h>
#include <stdio.h>
struct example {
int a;
char b;
float c;
};
int main() {
size_t offset = offsetof(struct example, b);
printf("Offset of member 'b' in struct example: %zu\n", offset);
return 0;
}
運行結果:
Offset of member 'b' in struct example: 4
注意事項: