int *const p、const int *p、int const *p有区别吗?(3分) 相关知识点: 试题来源: 解析 答:第一个表示一个指向整数的常量指针,第二第三个的意思是一样的,表示指向 常量整数的指针。进一步说明:第一个指针本身值不能改变,,但是所指向的整数 的数值可以改变,第二第三个指针的值可以改变,但是必须都是指向...
1).如果const 修饰在*pi前则不能改的是*pi而不是指pi。 2).如果const 是直接写在pi前则pi不能改。 二、常指针实际上只有三种形式: 1、const int *pi 指向常量的指针。 2、int * const pi 指针本身是一个常量,称为“指针常量”、“常指针”。 3、const int * const pi 指向常量的指针常量。 第...
首先int const*p=const int *p;都表示*p的值不能改变,而p(即地址)是可以改变的; voidtest001() {inta =10;constint* re = &a;//指针*re不能改变 re的值可以改变intconst* re2 = &a;//*re = 30;//err *re指向内容不能改变cout <<"re="<< re <<",*re="<< *re <<endl; cout<<"re2...
const int *p; int const *p; 上面p被*修饰,表明它是个指针变量,int和const都是修饰这个指针变量的所指向的内容的,所以不分前后顺序,是一回事。 void main() { int a = 0; int b = 20; //下面这两种定义常量指针的方法都合法。 const int *p0; //常量指针,是个变量,*是修饰p的,而const和 int都...
const int *p 和 int const *p;这两个是一样的。 表示p指向空间不能改变。即*p不能改变。int * const p;这个表示p本身值不能改变, 但是*p可以改变。const int *const p;和 int const *const p;这两个相同,表示p指向区域 以及p本身 都不能改变 根据实际需要 定义对应形式。
int * const P; 非常量数据,常量指针 const int const *P;常量数据,常量指针 const int *p; 常量数据,非常量指针
1. const int *p语义: (1) const 修饰的是整个*p,所以*p是个常量,是不能被赋值的。 (2) p前并没有用const修饰,所以p是指针变量,能被赋值重新指向另一个内存地址。 (3) int const *p 与 const int *p完全相同。 2. int *const p语义:
不一样。前者表明指向的对象是const型,不可以修改,但是指针p的指向可以修改;后者表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改。
:const*p与 *const*p是不同的。 下面举几个例子进行说明:const是修饰 *p,那么 *p是不能变化的。const是修饰p,那么p是不能变化的。 1.3const与引用 y是x的别名(引用)并用const进行修饰,那么y是不可以变得,x是可以变得。 下面再举几个例子进行说明: 2const其他用法 关于const其他用法参见C++封装(4): 对象指...
const int *p 就是说int *p这个是常量,*p不可以改变 int const *p 就是说*p这个是常量,p不可以改变 int *const p就是说p是常量,p本身是常量指针 依次类推 const后面是常量