深圳宝安区做网站照片制作动态图片软件
深圳宝安区做网站,照片制作动态图片软件,个人免费展示网站,网站制作中搜索栏怎么做6前言 ✅作者简介#xff1a;大家好#xff0c;我是橘橙黄又青#xff0c;一个想要与大家共同进步的男人#x1f609;#x1f609;
#x1f34e;个人主页#xff1a;橘橙黄又青-CSDN博客
目的#xff0c;学习offsetof宏计算结构体相对偏移量
1.offsetof宏
来我们看图…前言 ✅作者简介大家好我是橘橙黄又青一个想要与大家共同进步的男人
个人主页橘橙黄又青-CSDN博客
目的学习offsetof宏计算结构体相对偏移量
1.offsetof宏
来我们看图 参数第一个是结构体类型名称第二个是结构体成员名
返回类型size_t无符号整形
引用的头文件stddef.h 2.offsetof的使用
案例1
#includestdio.h
#include stddef.hstruct Stu // 注释为相对于起始位置的偏移量
{int a;//0~3char c;//4~5double d;//8~15
};
int main()
{printf(%d\n, sizeof(struct Stu));printf(%d\n, offsetof(struct Stu, a));printf(%d\n, offsetof(struct Stu, c));printf(%d\n, offsetof(struct Stu, d));return 0;
}
输出结果 3.offsetofde实现
代码 #include stddef.h
//写一个宏计算结构体中某变量相对于首地址的偏移并给出说明
struct Stu
{int a;//0~3char c;//4//5~7double d;//8~15
};#define OFFSETOF(struct_type, mem_name) (int)(((struct_type*)0)-mem_name)int main()
{printf(%d\n, OFFSETOF(struct Stu, a));printf(%d\n, OFFSETOF(struct Stu, c));printf(%d\n, OFFSETOF(struct Stu, d));return 0;
}输出结果 来我们来画画图 我们假设结构体起始地址就是0这样其成员的地址取出来再强制类型转换为int便可以表示结构体中某个成员相对于起始位置的偏移量这是一种很巧妙的思考方式即可实现宏 offsetof 的模拟实现
好啦我们今天就到这里点个赞吧感谢观看。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88866.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!