如何通过一个结构体成员变量的地址找到该结构体的首地址?[备忘]
Linux内核代码里的一个宏(Linux内核里很多结构体之间是通过某一成员变量相互寻址的),感觉挺巧妙。大概意思是:
#define get_addr(type, member, mem_addr) (type*)(mem_addr - &(((type*)0)->member))
typedef struct{
int a;
int b;
int c;
}test_t test;
addr = get_addr(test_t, c, &test.c);
这样可以绕过字节对齐问题。
转载于:https://www.cnblogs.com/shenfei2031/archive/2011/10/28/2227907.html
如何通过一个结构体成员变量的地址找到该结构体的首地址?[备忘]相关推荐
- c语言结构体成员变量默认值,C语言结构体要点笔记
近日,做一个东西却发现自己在C语言,特别是结构体这个知识点上还缺乏认识.所以在学习了网友的分享后,下面在下文记录一些重要的要点吧. 一.struct是一种复合数据类型(这一点很重要,结构体只是一个类型 ...
- c语言结构体成员变量私有化,C语言中结构体变量私有化详解
C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...
- 结构体之引用结构体成员变量
引用结构体成员变量 一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量. 可以用一下三种情况引用结构体 成员变量. ...
- C语言中结构体成员变量前的点的作用
/* * 结构体中成员变量前的点: 结构体成员指定初始化 * 1.该结构体要先定义 * 2.一个成员变量赋值完后用逗号而不是分号 * 3.初始化语句的元素以固定的顺序出现,和被初始化的数组 ...
- vs code 不能正确补全结构体成员变量的解决方法
vs code 在补全c语言代码时(keil工程文件)不能正确提示结构体成员变量. 解决方法: 在系统setting.json文件中找到C_Cpp.intelliSenseEngine配置删掉(或者将 ...
- c语言箭头指针的作用,C语言中,结构体成员变量的点和箭头
C语言中,调用成员变量用点还是用箭头,取决于当前的ID是指针还是结构体本身. 如:typedef struct { float height; float weight; } Person; int ...
- 关于Visual Assistant X助手在定位函数及结构体成员变量不准确的问题
我们在使用VS开发程序时,习惯使用Visual Assistant X助手来协助我们工作.Visual Assistant X确实给我们带来了很多的便利和好处,但是在有些情况下,也会给我们带来一些问题 ...
- 一个类怎样引用另外一个类的成员变量或方法
通常常用的有:A类有个变量C,B类想调用C方法一:变量C是非静态的(static),那么在B类中创建一个A类的对象,用对象.变量名就可以了方法二:变量C是静态的(static),直接用类.变量名 详细 ...
- 设计一个长方形类 java_用java设计一个长方形类,成员变量包括长和宽.方法:计算面积和周长,有相应的set和get方法...
共回答了17个问题采纳率:100% /** * 长方形类 */ class Rectangle{ /** * 宽 */ private double width; /** * 高 */ private ...
最新文章
- 小米发力AI场景下的“快应用”,投百亿资源扶持开发者
- weblogic集群安装心得-程序包发布
- 安卓开发中RelativeLayout中的各个属性
- 201621123053 张雨阳软工作业2
- Maven项目发布的配置
- python函数命名空间_python (函数命名空间和作用域)
- ubuntu18.04安装mysql8.0中遇到的问题及解决方法
- 在linux缓存里写数据,缓存策略
- TreeLSTM Sentiment Classification
- Java的反射 基础+简单复制对象实例
- RAC动态资源(DRM)管理介绍
- Windows Server 2012 R2 打印服务器的设置与管理-深博-专题视频课程
- 黑盒测试设计测试用例的方法【修改】
- 如何去优化一个网站做到更好
- 告别切图标注-Sketch/PS+Zeplin
- CentOS7 安装Samba
- Java 17新特性,快到起飞?
- java的入口函数_java入口函数有几种
- 这样用横线本做日计划真的太太太喜欢了
- 【927. 三等分】