杂谈
尽头2nxszn98
清空你的杯子,方可再行注满,成为虚空以求整全。
展开
-
详解 GNU C 标准中的 typeof 关键字
如果你是 C++ 程序员,应该接触过 C++11 里的 decltype 操作符,它的作用是自动推导表达式的数据类型,以解决泛型编程中有些类型由模板参数决定而难以(甚至不可能)表示的问题。其实这个特性在 C 语言中也早有类似的实现,GNU C 标准中的一个扩展特性 typeof (PS: 不是 typedef)作用与 decltype 类似,我们来看看这个关键字该怎么用。先来看一个最简原创 2016-05-25 16:28:09 · 21920 阅读 · 6 评论 -
通过结构体成员的地址获取结构体变量的地址
C 语言的结构体可以将不同类型的对象聚合到一个对象中,在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,但由于 C 的内存对齐机制以及不同机器间的差异,各个成员之间可能会有间隙,所以不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。如果要计算结构体中某成员相对于该结构体首地址的偏移量,一般第一个反应就是该成员的地址与结构体对象的首地址之间的字节数,就比如我定义了原创 2016-05-25 21:18:32 · 16354 阅读 · 5 评论