C语言深度解剖笔记
1.定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存.
2.register变量必须是被CPU寄存器所接受的类型,不能对他取地址.
3.静态全局变量,作用域仅限于变量被定义的文件中.静态局部变量,只能在定义他的函数里用,函数结束
时,静态变量的值是不会销毁的.静态函数是用来定义文本作用域的.
4.定义变量的同时千万千万别忘了初始化,不然后果很恐怖......
5.sizeof 一个披着函数皮的关键字
6.多多思考数据的内存表示,不然你很可能犯错.
7.float和double有个精度的问题
8.case后面只能是整型或字符型的常量或常量表达式
9.把default子句只用于检查真正的默认情况.
10.break终止本层循环,continue终止本次循环.
11.大循环放在内层提高效率.
12.goto可能跳过变量的初始化,重要的计算等语句.
13.在C语言中可以给无参数的函数传递任意类型的参数,c++就不可以(虽然没有什么实际意义)
14.return 语句不可返回指向"栈内存"的"指针",因为该内存在函数体结束时被自动销毁
15.const修饰的是只读变量
16.柔性数组,诡异的东西,你可以忘记他
17.花括号就是来打包代码的.
18.const修饰的只读变量不能用来作为数组的维数,也不能放在CASE关键词后面
19.#宏替换 ##粘合剂