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

绿色食品网站开发步骤国际足联世界排名

绿色食品网站开发步骤,国际足联世界排名,网站建设具体工作内容,济南网站建设哪家好在C语言中,有这样一个特殊的宏,叫offsetof,它的功能是啥呢? 我们来看看它的介绍 它的功能是:返回一个结构体的成员的大小(相较于起始地址的偏移量) 引用代码:http://t.csdnimg.cn…

在C语言中,有这样一个特殊的宏,叫offsetof,它的功能是啥呢?

我们来看看它的介绍

它的功能是:返回一个结构体的成员的大小(相较于起始地址的偏移量) 

引用代码:http://t.csdnimg.cn/q1CdU

#include <stddef.h>
#include <stdio.h>struct struct_test
{float fild1;double fild2;int fild3;short fild4;long long fild5;
};int main(void)
{printf("struct_test size is %lu \nfild1 offset %lu\nfild2 offset %lu \nfild3 offset %lu \nfild4 offset %lu \nfild5 offset %lu\n",sizeof(struct struct_test),offsetof(struct struct_test,fild1),offsetof(struct struct_test,fild2),offsetof(struct struct_test,fild3),offsetof(struct struct_test,fild4),offsetof(struct struct_test,fild5));return 0;
}

 运行结果

struct_test size is 32 
fild1 offset 0
fild2 offset 8 
fild3 offset 16 
fild4 offset 20 
fild5 offset 24

 看完了怎么用,我们来试试模拟实现一下

这里涉及到结构体内存对齐的知识,不了解的可以去我的文章C语言重点突破(4)看看,这里不多赘述。

offsetof要求的是返回结构图成员相对于起始地址的偏移量,这是不是意味着我们还得求出结构体首地址才能实现呢?其实不用,我们只需要将起始地址设为0不就行了?

StructType是结构体类型名,MemberName是成员名。具体操作方法是:

1、先将0转换为一个结构体类型的指针,相当于某个结构体的首地址是0。此时,每一个成员的偏移量就成了相对0的偏移量,这样就不需要减去首地址了。

2、对该指针用->访问其成员,并取出地址,由于结构体起始地址为0,此时成员偏移量直接相当于对0的偏移量,所以得到的值直接就是对首地址的偏移量。

3、取出该成员的地址,强转成size_t并打印,就求出了这个偏移量。

#define offsetof(StructType, MemberName) (size_t)&(((StructType *)0)->MemberName)

http://www.wangmingla.cn/news/137.html

相关文章:

  • 北京做网站ezhixi西安网站建设制作
  • 51网站哪里去了网络营销推广技术
  • 初学者学做网站怎么学免费建网站
  • 包装东莞网站建设0769网站搜索引擎优化诊断
  • 阿里巴巴网站被关闭了要怎么做怎么做推广比较成功
  • 找网站建设企业目前最火的推广平台
  • 特种操作证网上查询深圳关键词排名seo
  • 石家庄网站设计建设爱站网关键词挖掘工具
  • 46云虚拟主机深圳外贸seo
  • 微信备份如何转换为wordpresswin7优化大师好不好
  • 做文案需要用到的网站推广普通话的宣传内容
  • 以绿色为主色调的网站怎么建立自己的企业网站
  • 做网站要求电脑配置网络营销十大成功案例
  • 注册网站 公安 当面网站性能优化的方法有哪些
  • 东北做美甲的贷款在线播放英文网站陕西网络推广介绍
  • 安卓开发平台南宁seo网络优化公司
  • 重庆网站建设 制作 设计 优惠价活动推广方案
  • 常州天宁区建设局网站天津提升专业关键词排名
  • 行业网站需要如何做网站seo招聘
  • 武汉建网站公司怎么样seo外包 靠谱
  • 网站建设的具体方法百度推广怎么优化排名
  • 啥是东莞网站制作公司微信小程序开发费用一览表
  • 做网站用虚拟主机怎么样百度客户端下载
  • 肥料网站建设网站推广软文范例
  • 网站建设-部署与发布的题目今日郑州头条最新新闻
  • 阿里云 cdn wordpress关键词排名优化提升培训
  • 需要申请域名购买空间做网站测试吗营销方案案例
  • 珠海做网站价格百度指数功能有哪些
  • 网站建设优化推广靠谱优化公司排行榜
  • 建设童装网站的意义小时seo加盟