C学得烂,估计得写很多内容。
1.define Lower 0(没分号)
2.文本流每行结束是个换行符,无输入时为EOF
3.当把数组名用作参数时,传递给函数的值是数组起始元素的位置或地址,可以通过数组下标访问或者修改元素的值
4.赋值次序由右到左。
5.C大小写敏感
6.所有关键词均为小写
7.long型数据常以L或l结尾,无符号数字以u结尾
8.八进制以o开头,16进制以0x开头,'\0'表示null
9.对于enum,若无显示说明,第一个枚举值为0,依次往后推;把不同枚举中的名字必须互不相同(奇怪的规定)
10.外部变量和静态变量若不显式初始化,将被初始化为0;自动变量和寄存器变量则没有定义
11.const限定符限定的变量不能被修改
12.关系运算符优先级小于算术运算符
13.当较长的整形值转化位char类型时,超出的高位的部分将被丢弃。
14.^(XOR) ~按位取反
15.&常用來屏蔽,|常用來置1
16.所有赋值表达式的类型是他左操作符的类型,其值是赋值完成后的值(貌似废话)
17.static用法:限定外部变量和函数,其它文件将无法访问此文件;修饰内部变量则说明它是一种只能在某个特定函数中使用但一直占据存储空间。
18.register寄存器变量的地址是不能被访问的。
19.#include "fileName" 在源文件所在的位置查找该文件;<...>根据相应的规则查找
20.#define的作用:可替换任意文本;可带参数;可使用#undeg+名字取消宏定义
21.定义char s[]和char *s等价
22.0永远不是有效的地址
23.指向不同数组的元素的指针之间的算术或者比较运算没有意义
23.union在单块存储区域中管理不同类型的数据,但是其只能用第一个成员类型的值进行初始化。
复杂的不写了,就这样吧,基本全部出自K&R的那本C语言。