自定义实现offsetof

自定义实现offsetof,第1张

自定义实现offsetof 什么是offsetof?

offsetof,程序语言,该宏用于求结构体中一个成员在该结构体中的偏移量。

头文件:stddef.h

宏形式:

 size_t offsetof( structName, memberName )

说明:
1. 第一个参数是结构体的名字,第二个参数是结构体成员的名字。

2. 该宏返回结构体structName中成员memberName的偏移量。偏移量是size_t类型的。

代码实现如下:

typedef struct S
{
	char a;
	char c;
	int b;
}S;
#define OFFSETOF(type,name) ((int)&(((type*)0)->name))
int main()
{
	printf("%dn", OFFSETOF(S, a));
	printf("%dn", OFFSETOF(S, c));
	printf("%dn", OFFSETOF(S, b));
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5714016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存