您的位置:首页 > 编程语言 > C语言/C++

《C语言深度剖析》学习笔记二

2012-09-16 10:02 253 查看
枚举与#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个字符组成的字符串是否有可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断知道读入的字符组成的字符串已不再可能组成一个有意义的符号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C/C++