1.const char **p和char **p是不相容的类型。因为前者说明指向的是const char*类型,而后者是指向char*类型。所以它们之间赋值操作会引起编译警告。
2.要特别注意类型提升的问题。
3.sizeof操作符,strlen等函数返回值是无符号的。运算时要特别注意
4.int a=sizeof *q。q是指针,那么返回值是q所指向的对象的类型的字节数。
5.为了避免优先级问题最好加上括号。
6.除了&&和||之外,多元操作符的操作数的计算顺序是不一定的。
7.在同一代码块中开辟和释放内存。
8.理解C语言声明的图:
9.函数调用时的过程活动记录:
10.使用函数原型,缺省的参数提升就不会发生。
11.什么时候数组和指针是相同的:
11.1.表达式中的数组名(与声明不同)被编译器当作一个指向该数组第一个元素的指针。11.2.下标总是与指针的偏移量相同
11.3.在函数参数的声明中,数组名被编译器当作指向该数组第一个元素的指针。
有一样操作只能在指针中进行而不能在数组中进行,那就是修改它的值。