本周总结:
本周课堂上主要讲了运算符 控制符 关键字 复合数据类型;
运算符中
函数传参从右边开始;
++i被替换成i变量
i++被替换成常量;
结束的标志是 函数括号 , ;
Mask:掩码在位运算中特别重要;位运算在硬件的使用时很重要;
右移都是拿符号位补位;
左移都是拿0来补位;
在不适用第三方的情况下交换两个值:
a = a ^ b;
b = a ^ b;
a = a ^ b;
还有用加减乘除也可以,但是没有位运算好,因为位运算的执行效率较高,而且加减乘除可能大数运算时会溢 出;
swtich(只能是整形或者字符)
主要面试时会问自定义函数和宏替换的区别;
关键字中static const(一个好的程序员必备的修养)volatile extern typedef register
面试时要尽可能回答的完善流利;
防止头文件重复包含导致的重复定义在写头文件时常问的面试题;
在复合数据类型中:
Struct 内存对齐 可提高程序的性能;容易造成内存空洞;
设置编译器的对齐方式:
#pragma pack(1 2 4)
#pragma pack()
Uion 产生数据覆盖
重点:大端字节序和小端字节序;
Enum:变量四个字节
与宏定义的区别:编译阶段处理,只能定义整数宏;由于这周考试多报告多,所以看得书自学的比较少,没有遇到什么大问题,小问题都可以自己解决;