c/c++ 回顾

来源:互联网 发布:multiple select.js 编辑:程序博客网 时间:2024/05/07 20:36
最近快速过了一下c/c++,还是有些新收获的,特记下来

1. 八进制常量以数字“0”开头,十六进制常量以“Ox”开头。

2. a += b 的执行速度比 a = a + b 快。

3. 异或运算的特点是:如果a^b == c,那么就有c^b == a以及c^a == b。
由此可以想到如何交换两个整型变量a与b的值:
a=a^b
b=a^b
a=a^b

4. 左移1位,就等于是乘以2,左移n位,就等于是乘以2^n。而左移操作比乘法操作快得多。

5. 运算符优先级要牢记。

6. 指针 T *p; 无论T表示什么类型,sizeof(T *)的值都是4。(32位计算机CPU内存寻址范围一般都是4GB,即2^32)

7. 字符串常量的类型就是 char *。

8. 快排函数qsort。
函数原型:void qsort(void *base, int nelem, unsigned int width, int(* pfCompare)(const void *, const void * ));
比较函数原型:int 函数名(const voide * elem1, const void * elem2);

9. fputs 并不会自动向文件中写换行符。使用fread和fwrite函数读写文件,文件必须用二进制方式打开。