const
指针指向的是const(表示不能通过这个指针去修改变量,并不是使得那个变量成为const)
const int *p = &i; // 等价 const int (*p) = &i; 和 int const (*p) = &i; i = 24; // ok *p = 25; // error p++; // ok
指针是const
int *const p = &i; *q = 26; //ok q++; //error
同时上面两种:1.指针不可修改 2.通过指针不可修改
const int *const p = &i;
数组名本身就是只读类型的常量,而这里的const表明的是数组的每个单元都是const int,后续无法通过a[n]进行修改。
所以,必须初始化的时候就赋值。
const int a[] = {1, 2, 3, 4, 5};