constint*p定义的是(constint)型的指针,指向的是int型的常量,指向的值不能改。 int*constp定义的是const的指针,它的指向不能改。 你试试这个程序报错的都是那几行就知道了。 voidmain() { inta=5,b=6; constint*p1=&a; int*constp2=&a; (*p1)++;//错,p1指向的是常量,值不能变 (*p2)++; p1...
C++指针变量int*const&p表示〔〕。 A. 右边的引用引用左边的指针,且右边的引用不能被修改 B. 左边的指针指向右边的引用,且左边的指针不能被修改 C. 左边的指针指向右边的引用,且右边的引用不能被修改 D. 右边的引用引用左边的指针,且左边的指针不能被修改 ...
1、const int *pi 指向常量的指针。 2、int * const pi 指针本身是一个常量,称为“指针常量”、“常指针”。 3、const int * const pi 指向常量的指针常量。 第2,3形式在声明时必须赋值。 参考原文地址:http://blog.csdn.net/yjh0628/article/details/5830153...
恰恰和上面的相反,即int *const p表示 p(地址)是常量,不可改变,但是*p的值可以改变 voidtest002() {inta =10;int*constre = &a;//指针re不能变 但是*re指向的内容可以变*re =100; cout<<"re="<< re <<",*re="<< *re <<endl;intc =20;//re = c;//err 指针地址不能变*re =c; cout...
int * const P; 非常量数据,常量指针 const int const *P;常量数据,常量指针 const int *p; 常量数据,非常量指针
*constp(指针指向的值和指针指向的地址都不能变) 以下使用画图工具图片中标红的意思就是不可以修改1.常量指针:inta = 10intb = 10constint*p= &a //常量指针const加在*p前面,说明指针的内容是不可以改变的*p= 20 //报错p= &b //可以,可以修改指向。 但是:常量指针真的不能修改指针指向的内容吗? 2. ...
const int *p; int const *p; 上面p被*修饰,表明它是个指针变量,int和const都是修饰这个指针变量的所指向的内容的,所以不分前后顺序,是一回事。 void main() { int a = 0; int b = 20; //下面这两种定义常量指针的方法都合法。 const int *p0; //常量指针,是个变量,*是修饰p的,而const和 int都...
int *const p、const int *p、int const *p有区别吗?(3分) 相关知识点: 试题来源: 解析 答:第一个表示一个指向整数的常量指针,第二第三个的意思是一样的,表示指向 常量整数的指针。进一步说明:第一个指针本身值不能改变,,但是所指向的整数 的数值可以改变,第二第三个指针的值可以改变,但是必须都是指向...
const int *p 和 int const *p;这两个是一样的。 表示p指向空间不能改变。即*p不能改变。int * const p;这个表示p本身值不能改变, 但是*p可以改变。const int *const p;和 int const *const p;这两个相同,表示p指向区域 以及p本身 都不能改变 根据实际需要 定义对应形式。
输出结果是:*p = 3 4.总结 区别int const * p和int * const p的方法是:看const的位置,如果const在*p的前面(int const *p),则 *p是常量,它的值不能被修改,但p可以重新赋值;如果const在p的前面,则p是常量,它的值不能被修改,但是*p可以重新赋值。