枚举与#define宏的区别

1.#define宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。

2.一般在编译器里,可以调试枚举常量,而不能调试宏常量。

3.枚举可以一次定义大量相关的常量,而#define宏一次只能定义一个

 

Typedef

功能:取别名,制造马甲。

 

Typedef得到的也是类型名,在与const连用时,判断修饰对象时忽略

Typedef {

                …………

}stu, *stu_ptr;

const stu_ptr stu3;

stu_pst const stu4;

判断时忽略类型名stu_ptr 第一个修饰stu3指针,第二个修饰stu4指针

 

Typedef#define的区别

#define 只是进行简单的替换,不做语法检查,在预编译时进行。

#define a int[10]  typedef int a[10]

1

2 A B错误

3

4 CDEFGH正确

5 CD正确

6 CDEFGH正确

7 CD正确

8 CDEFGH正确

 

数组指针域指针数组,看结合,取决于第一个结合的类型;

 

 

函数指针:指向函数的指针

 

编译器将注释替换成空格,而不是简单的剔除

多重嵌套时,应当在一些段落的结尾处加注释;

注释应注重为什么(why 而不是怎么做(how

 

位移运算符的优先级低于算数运算符

左移和右移的位数不能超过数据的长度,不能小于0

 

贪心法:从左到右一个一个字符的读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的2个字符组成的字符串是否有可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断知道读入的字符组成的字符串已不再可能组成一个有意义的符号。