c语言深度解剖笔记2

来源:互联网 发布:淘宝客api申请 编辑:程序博客网 时间:2024/05/11 15:05

2016.8.15 DAGE

复习内容:c语言深度解剖笔记2

a.union联合体

union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在 union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。一个 union 只配置一个足够大的空间以来容纳最大长度的数据成员。

b.大端与小端模式

数据在内存的两种存储模式:大端模式(Big_endian)    :字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式(Little_endian) :字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。

c.enum枚举类型

enum 枚举名{枚举选项}定义的一个枚举变量枚举选项部分如果没有赋值,那么会默认从0开始,如果赋值了,后面的等于前面的+1,可以给多个变量赋值,enum{A=2,B=9,C},此时a=2,b=9,c=10枚举与#define 宏的区别:1),#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。2),一般在编译器里,可以调试枚举常量,但是不能调试宏常量。3),枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个。枚举类型的大小,等于4字节,一个int型的大小(猜测是一个联合体的形式,都是int型变量)

d.typedef起别名

给一个已经存在的数据类型(注意:是类型不是变量)取一个别名,而非定义一个新的数据类型。另:char *p1,p2,这时p2表示的是定义的一个字符变量
0 0