---1.三字母词:
-------------------各书中所介绍的9个三字母词在vs2012下实测已经失效 在网上查了查原来是因为以前有些环境或者键盘上没有对应的字符 所以给出了这种解决方法 没有深究
---2.volatile关键字:
-------------------防止编译器优化 每次到内存中读取数据 防止因为优化复制数据副本到寄存器 每次读取从寄存器里直接读取 所导致原数据改变了并不能发现
---3.函数返回值隐式声明:
-------------------函数在缺省返回值时会被隐式声明为整型 在有些情况下会导致非常隐蔽的错误 尽量不要依赖
---4.链接属性:
-------------------外部 / 内部 / 无
-------------------全局变量和函数定义默认为外部链接属性 局部变量定义默认为无链接属性
-------------------4.1 static 和 extern 关键字:
---------------------------------------------------------static用于定义全局变量和函数时将改变他们的链接属性 使所定义的对象只能在本文件中使用 用于定义局部变量时并不改变连接属性和作用域 而是改变他们的存储类型 从自动变量改为静态变量
---------------------------------------------------------extern用于定义局部变量时可引用全局或其他文件定义的变量
---5.移位操作:
-------------------对无符号和有符号进行左移位操作 移入位用0进行填充 右操作时无符号数进行逻辑移位 有符号数进行逻辑移位或算术移位 根据编译器决定 实测vs2012对有符号数进行的是算术移位
---6.sizeof:
-------------------sizeof并不用计算表达式中的值 所以例如sizeof(a=b+c) 计算a的字节大小 但并不把作赋值操作
---7.逗号操作符:
-------------------表达式所执行的结果为逗号操作符最后一个表达式的值 对于一些while循环进行简化有渺小的用处
---8.整形提升
-------------------字符型和短整型在使用时会被转换为整型计算 结果进行截断再储存回原来的类型中 可能会存在隐患
---9算数转换:
-------------------不同数据类型的数据进行比较或运算时 会进行数据类型的转换 一般是向着浮点精度更高 长度更长的类型做转换 转换规则通俗来讲是 用转换后的类型来解析转换之前类型数据的二进制数 解析之后就得到了转换后的值 由于计算机一般用补码表示负数 所以像unsigned int类型-1这样的数转换为signed int会变成一个非常大的数