const在C/C++中的特性是不一样的,今天只讲通用部分。
const int a ;
int const b;
//两者等价。
const值不能修改。
const int *c;//修饰c指向的内存空间不能被写,但是可读。只读的。
这里的只读,是指不能通过改指针修改其指向的内存空间中的内容。
int a = 10;
const int * a_ptr = &a;
a = 11; // 这是可以的。
(*a_ptr) = 1; // 这是不可以的,编译出错。因为 a_ptr 指向的内存空间不可被修改。
int * const d; //const修饰d,d是指针变量,所以d不能随便修改。但是与d所指的内存空间没有半毛钱关系。—常量指针。
//const修饰谁,谁就不能改变。
const char * const e;指针和内存空间都不可被修改。