一、指定的初始化
很多人都知道像这样来静态地初始化数组:
int fibs[] = {1,2,3,4,5} ;
C99标准实际上支持一种更为直观简单的方式来初始化各种不同的集合类数据(如:结构体,联合体和数组)。
数组的初始化
我们可以指定数组的元素来进行初始化。这非常有用,特别是当我们需要根据一组#define来保持某种映射关系的同步更新时。来看看一组错误码的定义...
分类:
其他好文 时间:
2014-06-22 14:13:58
阅读次数:
250
背景
C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序。 C99标准新增指定初始化(Designated
Initializer),即可按照任意顺序对数组某些元素或结构体某些成员进行选择性初始化,只需指明它们所对应的数组下标或结构体成员名。GNU C将其作.....
分类:
其他好文 时间:
2014-05-21 21:53:54
阅读次数:
448
联合体union
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的:
1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员;4)其对...
分类:
编程语言 时间:
2014-05-09 11:25:55
阅读次数:
409
QVariant相当于一个包含大多数Qt数据类型的联合体将数据存储为一个Private结构体类型的成员变量d:1 QVariant::QVariant(Type
type)2 { create(type, 0); }1 void QVariant::create(int type, const vo...
分类:
其他好文 时间:
2014-05-04 19:30:20
阅读次数:
593
联合体12345678910111213#include union sa{double a;int
b;};int main(){union sa ssa;printf("%d \n",sizeof(union
sa));}联合体的声明,定义,与结构体一样。联合体的长度为最长成员的长度。联合体的初...
分类:
其他好文 时间:
2014-05-01 04:08:15
阅读次数:
357
字节对齐详解(32位系统),其他位系统类似。...
分类:
其他好文 时间:
2014-04-29 13:46:20
阅读次数:
252