const int * a和int const *a一样,定义时不是必须初始化,指针可以指向其他变量,但是指向的变量的值不能修改. int * const定义时必须初始化,即必须指明指向哪个变量,定义后就不能再指向其他变量,但是指针指向的变量的值可以被修改. #include<iostream> using namespace std; int main() { //a和b是一样的,代表一个常整型数,必须手动初始化 ; ; ; ; //c是一个指向常整数型的指针,可以不初始化 int cons…
前面有一篇文章:数组名就是常量指针 参考文章:http://blog.pfan.cn/whyhappy/5164.html const int * pi .int const * pi与int * const pi及其操作 1 从const int i 说起 你知道我们申明一个变量时像这样int i :这个i是可能在它处重新变赋值的.如下:int i=0;//…i=20;//这里重新赋值了 不过有一天我的程序可能需要这样一个变量(暂且称它变量),在申明时就赋一个初始值.之后我的程…
1)先从const int i说起.使用const修饰的i我们称之为符号常量.即,i不能在其他地方被重新赋值了.注意:const int i与int const i是等价的,相同的,即const与int的位置无所谓.2)const int *p看例子:int i1=30;int i2=40;const int *p=&i1;p=&i2; //此处,p可以在任何时候重新赋值一个新的内存地址.i2=80; //这里能用*p=80来代替吗?答案是不能printf("%d"…