C语言中级培训教程——再论“类型“.pdfVIP

  • 6
  • 0
  • 约9.46千字
  • 约 25页
  • 2015-10-01 发布于河南
  • 举报

C语言中级培训教程——再论“类型“.pdf

C语言中级培训教程——再论“类型“.pdf

CC语言中级培训语言中级培训 三、再论“类型” 类型的本质 int a = 5; // 申请空间并初始化 Memory Address Name Value(5) (a) Type (int) 一个变量必然包含以下概念: 1. 名字(变量名) 2. 类型(变量占用空间) 3. 值(变量的内容) 字节 4. 地址(变量在内存中所处的位置) 2 “数据类型”的意义 1.定义了数据占用的内存空间大小; 22.定义了数据在内存中的定义了数据在内存中的存储格式存储格式;; 3.决定了数据的决定了数据的运算规则运算规则;; 4.为编译器提供了检查依据。 空间大小空间大小决定了数值范围决定了数值范围;; 存储格式决定了空间布局; 运算规则决定了自身的行为。 3 “类型”起作用的时机 仅在编译时。 等到运行时则所有的事情都以确 定下来了定下来了。。 ““数据类型数据类型””描述了数据的性质描述了数据的性质,规定了规定了所能进行所能进行 的合法运算(操作) 、运算中所遵守的规则等。不 但指导着编译器的行为但指导着编译器的行为,,使之不致使之不致””认贼作父认贼作父””、、 误入歧途;而且约束着程序员的行为,使之不能 ”指鹿为马指鹿为马”、、为所欲为为所欲为。。 编译完成的结果——机器码,仅仅是CPU运行的指 令集令集,,此时不再作任何判断此时不再作任何判断,,就是执行而已就是执行而已。。 4 “类型” 的基础 是内存的划分和使用。 C语言对关键的硬件特有着对应性语言对关键的硬件特有着对应性::字符使用字节字符使用字节 (byte),整型使用字(word),指针使用地址,函 数用与对处理模块的抽象数用与对处理模块的抽象。。 这使得程序员可以在必要时直接操控硬件细节这使得程序员可以在必要时直接操控硬件细节,,由由 此带来的要求是:语言的学习者必须从硬件层 面上分析面上分析、、把握把握CC语言规则语言规则,,否则总会否则总会 ““飘飘””在在 半空,没有根基。 因此因此,,对内存的把握乃第一要务对内存的把握乃第一要务。。此关一通此关一通,,则高则高 屋建瓴,势如破竹。 5 同一块内存的不同类型视角 运行结果运行结果:: #include stdio.h float address : =0x0012FF7C=34.5 void main()() int address : =0x0012FF7C =1107951616 { the int : 100 float f = 34.5;; //对于一块内存对于一块内存,,按浮点型初始化按浮点型初始化 thhe flfloat : 11-043043 int * ip = (int * )( f); printf(float address : %p = %f\n, f ,f); //以浮点 视角看 printf(int address : %p = %d\n, ip ,*ip); //以整型 视角看视角看 ** ip = 100; ////按整型赋值按整型赋值 printf(the int : %d\n, *ip); //以整型视角看 prii

文档评论(0)

1亿VIP精品文档

相关文档