当前位置: 首页 > wzjs >正文

交易类网站建设chrome 谷歌浏览器

交易类网站建设,chrome 谷歌浏览器,室内装饰设计软件,西地那非使用三大忌代码功能概述 ((size_t) &((TYPE *)0)->MEMBER) 这行代码是一个经典的宏定义技巧,用于计算结构体 TYPE 中成员 MEMBER 相对于结构体起始地址的偏移量,单位是字节。在标准库中,这个功能被封装为 offsetof 宏。 详细解释 1. (TYPE *)…

代码功能概述

((size_t) &((TYPE *)0)->MEMBER) 这行代码是一个经典的宏定义技巧,用于计算结构体 TYPE 中成员 MEMBER 相对于结构体起始地址的偏移量,单位是字节。在标准库中,这个功能被封装为 offsetof 宏。

详细解释

1. (TYPE *)0
  • 这部分代码将整数 0 强制转换为 TYPE * 类型的指针。也就是说,它创建了一个指向地址 0 的 TYPE 类型的指针。在这个操作中,并没有实际访问地址 0,只是利用这个指针来进行后续的计算。
2. ((TYPE *)0)->MEMBER
  • 通过 -> 操作符访问 ((TYPE *)0) 这个指针所指向的结构体中的 MEMBER 成员。由于指针指向的是地址 0,所以这一步并没有真正访问内存,只是从语法上表示访问结构体中的该成员。
3. &((TYPE *)0)->MEMBER

使用取地址运算符 & 获取 ((TYPE *)0)->MEMBER 的地址。因为结构体的起始地址是 0,所以这个地址实际上就是成员 MEMBER 相对于结构体起始地址的偏移量。

4. (size_t)
  • 最后,将得到的地址强制转换为 size_t 类型。size_t 是一种无符号整数类型,通常用于表示对象的大小或地址偏移量,确保结果可以正确地表示偏移量。
#include <stdio.h>
#include <stddef.h>// 定义一个结构体
typedef struct {char a;int b;double c;
} MyStruct;int main() {// 计算成员相对于结构体起始地址的偏移量size_t offset_a = offsetof(MyStruct, a);size_t offset_b = offsetof(MyStruct, b);size_t offset_c = offsetof(MyStruct, c);// 输出偏移量printf("Offset of 'a' in MyStruct: %zu bytes\n", offset_a);printf("Offset of 'b' in MyStruct: %zu bytes\n", offset_b);printf("Offset of 'c' in MyStruct: %zu bytes\n", offset_c);return 0;
}

http://www.dtcms.com/wzjs/827406.html

相关文章:

  • 做个一般的网站要多少钱WordPress js报错
  • 常州网站排名优化做百度网站费用多少
  • 上海网站建设高端定制动易网站开发
  • 网站开发空间小wordpress背景图片插件
  • 甜点网站要怎么做wordpress返回按钮
  • 企业网站 asp源码那些做app网站的怎么寻找客户的
  • 网站制作的主要技术WordPress配置pdo
  • 国内做外单的网站有哪些会计培训班要多少钱一般要学多久
  • 怎样做艾条艾柱网站正邦设计总部都空了
  • 重庆有网站公司东莞网站设计精英
  • 建设银行流水账网站查询北京手机网站搭建多少钱
  • 南京微信网站开发球形网架公司
  • 怎么做口子推广网站做一个公司网站要多少钱
  • 柳州网站建设找哪家好四川省肿瘤医院
  • 课题组网站建设网页设计总结论文
  • 网站图片移动怎么做的那个网站的系统好
  • 家教网站开发公司淘宝购物返利网站建设app
  • 网店网站开发wordpress小看板娘
  • 动漫做暧昧视频网站枣庄网站开发
  • 国外有哪些做deal的网站软件开发内容有哪些
  • 网站地图html怎么做天津做无痛人流费用五洲网站
  • 合肥做淘宝网站推广智能网站建设加工
  • ui参考网站wordpress手机号登录
  • 网站开发模块用angularjs做的网站
  • 无锡网站建设优化公司wordpress 专业模板
  • 在浏览器上建设网站校园网站建设需要什么
  • 网站设置qq临时会话787878域名
  • 做团购网站的心得我想采集散文 做网站
  • 正版传奇手游官方网站厦门做返利网站的公司
  • 常州溧阳建设工程管理中心网站会ps的如何做网站