1. C中断言(assert)
(1) 断言(assert) : 断定一件事一定成功;
(2) assert(表达式) : 如果表达式为真,则无事发生;如果表达式为假,系统崩溃(崩溃后会显示在那个文件的哪一行代码)
(3) 断言必须加上必要的头文件:#include<assert.h>
(4) assert:对于Debug(开发者版本)版本,写的越多越好,这样的话会尽早找出程序中的问题,但对于release版本来说,看不见,系统默认没有。
(5) 使用时,需要加if判断和断言配套使用,并且断言和if顺序不能改变,断言在if之前。
2. const
(1) const定义常变量,修饰的变量不能修改(只读)
例如:const int ca=10;
ca=20; //error
(2) 内置数据类型对于const透明
例如: int const cb = 10; //等同于const int cb = 10;
cb = 20; //error\
即const写int的左边和右边是等价的
(3) const只能修饰直接右边
例如: int a = 10; int b = 20;
const int *p1 = &a;
p1 = &b;
*p1 = 100; //error,因为*p1之前有const修饰
int const *p2 = &a; //等同于p1
int *const p2 = &a;
p2 = &b; //error ,const修饰p2
(4) 权限可以等同传递或者缩小传递,但不能放大。
例如: int a = 10; int b = 20;
const int ca = 30; const int cb = 40; int *p1 = &a; //true int *p2 = &ca; //error const int *p3 = &a; //true const int *p4 = &ca; //true int *const p5 = &a; //true int *const p6 = &ca; //error const int *const p7= &a; //true