C语言深度解析

上传人:206****923 文档编号:41701463 上传时间:2018-05-30 格式:DOCX 页数:10 大小:50.23KB
返回 下载 相关 举报
C语言深度解析_第1页
第1页 / 共10页
C语言深度解析_第2页
第2页 / 共10页
C语言深度解析_第3页
第3页 / 共10页
C语言深度解析_第4页
第4页 / 共10页
C语言深度解析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C语言深度解析》由会员分享,可在线阅读,更多相关《C语言深度解析(10页珍藏版)》请在金锄头文库上搜索。

1、auto /声明自动变量,缺省时编译器一般默认为 auto int /声明整型变量 double /声明双精度变量 long /声明长整型变量 char /声明字符变量 float /声明浮点型变量 short /声明短整型变量 signed /声明有符号类型变量 unsigned /声明无符号类型变量 struct /声明结构体变量 union /声明联合类型数据 enum /声明枚举类型 static /声明静态变量 switch /用于开关语句 case /开关语句分支 default /开关语句中的其他分支 break /跳出当前循环 register /声明寄存器变量 const /

2、声明只读变量 volatile /说明变量在程序执行中可被隐含地改变 typedef /用以给数据类型取别名 extern /声明变量是在其他文件正声明(也可以看做是引用变量) return /子程序返回语句(可以带参数,也可不带参数) void /声明函数无返回值或无参数,声明空类型指针 continue /结束当前循环,开始下一轮循环 do /循环语句的循环体 while /循环语句的循环条件 if /条件语句 else /条件语句否定分支(与 if 连用) for /一种循环语句 goto /无条件跳转语句 sizeof /计算对象所占内存空间大小 定义创建了对象并为这个对象分配了内存

3、声明没有分配内存register:这个关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中而不是 通过内存寻址访问以提高效率。数据从内存里拿出来先放到寄存器,然后 CPU 再从寄存器里读取数据处理,处 理完后同样把数据通过寄存器存放到内存里,CPU 不直接和内存打交道。register 变量必须是能被 CPU 寄存器所接受的类型。即 register 变量必须是一个 单个的值,并且其长度应小于或等于整型的长度。而且 register 变量可能不存放 在内存中,所以不能用取址运算符“int a100; 那么:sizeof(p)/=4sizeof(*p)/=4sizeof(a)/=400siz

4、eof(a100)/=4sizeof(int i;for(i=0;iitemn就能简单地访问可变长元素。但是这个时候再用 sizeof(*p)测试结构体大小,发现仍然为 4. 因为在定义结构体的时候,以及确定不包含柔性数组的内存大小。所以柔性数 组其实与结构体没有关系,算不得结构体的正式成员。/struct 和 class 的区别 在 C+里 struct 关键字与 class 关键字一般可以通用,只有一个小区别。struct 的成员默认情况下属性是 public,而 class 是 private/union 与 struct 用法类似 union 维护足够的空间来置放多个数据成员中的“一种

5、”,而不是为每一个数据成 员配置空间,在 union 中所有的数据成员共用一个空间,同一时间只能储存其 中一个数据成员,所有的数据成员具有相同的其实地址。 union StateMachine char character;int number;char *str;double exp; ; 一个 union 只配置一个足够大的空间来容纳最大长度的数据成员,以上例而言, 最大长度是 double,所以 StateMachine 的空间大小就是 double 数据类型大小。在 C+里,union 的成员默认属性也是 public。 union 主要用来压缩空间。如果一些数据不可能在同一时间同时被

6、用到,则可以 使用 union。/大小端模式对 union 类型数据的影响 union int i;char a2; *p,u; p= p-a0=0x39; p-a1=0x38; 那么 p.i=? 这里需要考虑存储模式:大端模式和小端模式 大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节存放 在高地址中。 小端模式(Little_endian):子数据的低字节存储在低地址中,而子数据的高字节存 放在高地址中。 union 型数据所占的空间等于其最大的成员所占的空间。对 union 型的成员的存 取都是相对于该联合体基地址的偏移量为 0 处开始,也就是联合体的访问不论 对那个变量的存取都是从 union 的首地址位置开始。 三

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号