const限定符可以使用最简单的来说它就是一个只读,不可写的限定。
1.如果定义变量为常量时与其匹配的指针必须也是 const。(类似与原始权限较大的概念)
eg:
const double pi = 3.14;
double *cptr = π //error
const double * cptr = π //ok
此时的cptr 所指向的类型是不可写的,即cptr 所指向的内存块只读。
double pi = 3.14;
const double *cptr = π
*cptr = 4.2; //error
此时pi申请的内存是可以写的。 但cptr指向这块内存时定义成了const 所以就不可以用指针来修改其值了。
最笨的方法即
pi = 4.2; //ok
2.指向const的指针
就是该指针不可重新赋值。(某个变量被const限定必须申请内存是就需要初始化)
int errnum = 0;
int const *p = &errnum;
const int const *p = &errnum;
即p不可再成为b