Offsetof用法
offsetof,程序语言,该宏用于求结构体中一个成员在该结构体中的偏移量。
size_t offsetof( structName, memberName );
第一个参数是结构体的名字,第二个参数是结构体成员的名字。该宏返回结构体structName中成员memberName的偏移量。偏移量是size_t类型的。
例程:
#include <stddef.h>
#include <stdio.h>
struct address {
char name[50];
char street[50];
int phone;
};
int main()
{
printf(“address 结构中的 name 偏移 = %d 字节。\n”,
offsetof(struct address, name));
printf(“address 结构中的 street 偏移 = %d 字节。\n”,
offsetof(struct address, street));
printf(“address 结构中的 phone 偏移 = %d 字节。\n”,
offsetof(struct address, phone));
return(0);
}
运行结果:
address 结构中的 name 偏移 = 0 字节。
address 结构中的 street 偏移 = 50 字节。
address 结构中的 phone 偏移 = 100 字节。
Offsetof用法相关推荐
- C语言offsetof用法以及其扩展用法
标题C语言offsetof用法以及其扩展用法 offsetof由于不是标准库的函数,所以得查一下,在stddef.h中,搜索一下编译器的这个头文件位置: 暴力一点,直接在根目录下搜索,find -na ...
- C语言:offsetof()的用法
offsetof()是一个宏 返回的是: 结构体成员 在内存中的偏移量. #include<stdio.h> #include<stddef.h> struct S {char ...
- c语言求占用内存sizeof,C语言中sizeof的用法
定义: sizeof是神圣的sizeof,它是C / C ++中的运算符. 简而言之,其功能是返回对象或类型占用的内存字节数. MSDN上的解释是: sizeofkeyword给出字节,关联的类型(包 ...
- c语言 offsetof函数,C 库宏 - offsetof()函数
宏offsetof 标准库stddef.h 定义 size_t offsetof(type, member); 分析 C 库宏 offsetof(type, member) 会生成一个类型为 size ...
- offset linux,Linux 宏定义之 offsetof 与 container_of(十九)
今天我们来看看 Linux 中的两个经典的宏:offsetof 与 container_of.下来我们先来看看它们两个的宏定义,如下#ifndef offsetof #define offsetof( ...
- C语言 泛型链表 如何计算(结构体中各元素)相对内存地址?(字节对齐,结构体对齐)offsetof()函数 ( (struct X*)0 ) -> Y)语法(匿名结构体)
示例: typedef struct _user {char name[20];char sex[20];int age;struct list_head mylist;//自定义结构体里保存双向循环 ...
- container_of 用法解析
在学习Linux驱动的过程中,遇到一个宏叫做container_of. 该宏定义在include/linux/kernel.h中,首先来贴出它的代码: /** * container_of - ca ...
- C库宏-offsetof()
在项目开发过程中,发现了offsetof()函数,随即查询了此函数,摘录如下: C库宏 - offsetof() 描述 C库宏offsetof(type, member-designator)会生成一 ...
- sizeof与offsetof有关的结构体详解
sizeof与offsetof在程序中经常遇到,但在面试中其应用使得许多小伙伴吃闭门羹,被面试官问得哑口无言.接下来对两者的应用做详细介绍. 关于sizeof 定义 sizeof乃C/C++中的一个操 ...
最新文章
- “挨踢民工”的奇葩生活录
- php如何替换 前的空格,php空格如何替换
- 我的第一个.NET Core App Windows系统
- c语言错误re,c语言malloc之后再realloc的有关问题
- 结对和团队项目建议 - 黄金点游戏
- resultmap拿不到数据_英雄联盟S10:半决赛数据告诉你huanfeng有多强
- NSString的retainCount
- bypassuac提权
- TI CC2650 学习历程(一)
- 【JVM笔记】支配树(Dominator Tree)
- 漏洞复现之CVE-2018-1273 Spring Data Commons 远程命令执行
- 四巫日来临本周硅铁、铁矿石领跌,铁矿石认沽最高31倍,钢厂利润回升2022.6.17
- 【HTML基础-1】HTML标签简介及常用标签
- 【腾讯QQ官方正式版下载】基于Internet的即时通信(IM)软件
- 上海房产税免征--积分或居住证
- CSS 开源资源大全收集
- 实现对文件夹进行加密
- 网易魔兽怀旧服服务器型号,魔兽世界所有怀旧服服务器名称已出,你觉得哪些名称更好听呢?...
- jsp和java前后台的交互
- 阿里内部业务中台的实践之路?