关于结构体学习,需要了解:结构体的定义和使用、内存对齐、结构体指针、得到结构体元素的偏移量(offsetof宏实现)一、复习结构体的基本定义和使用 1 typedef struct mystruct 2 { 3 int a; 4 char b; 5 double c; 6 ...
分类:
编程语言 时间:
2015-11-09 21:00:59
阅读次数:
257
本文首先介绍Linux下的经典宏定义,感受极客的智慧,然后根据该经典定义为下篇博客作铺垫。
offsetof宏
定义:
// 获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
说明:获得结构体(TYPE)的变量成员(MEMBER)在此结...
分类:
系统相关 时间:
2015-07-16 19:53:55
阅读次数:
144
stddef.h头文件看意思就是标准定义,定义有一些变量和宏。其中定义了NULL和offsetof()宏,NULL指向0或者是无效指针,offsetof获取一个元素在结构中的偏移量。下面看看具体的代码注释和笔记。#ifndef _LINUX_STDDEF_H
#define _LINUX_STDDEF_H#include /*
* #undef 预定义取消指令...
分类:
其他好文 时间:
2015-04-09 19:57:15
阅读次数:
106
1)#define offsetof(s, m)(size_t)&(((s *)0)->m)2)#define OBJECT_HEAD_ADDRESS(ClassName,MemberName,Addre) \Addre - offsetof(ClassName, MemberName)
分类:
编程语言 时间:
2014-06-27 18:13:44
阅读次数:
213