首页 > 试题广场 >

下面三个变量分别代表什么含义?

[问答题]
下面三个变量分别代表什么含义?
const int* ptr;
int const* ptr;
int* const ptr;
来源于《C++编程思想》中的读法:“右-左”读法
举例:const int* (*ptr)(int);
1、从变量(函数)名ptr开始,向右看是一个")",没有东西
2、向左看,有一个*,代表这个ptr是一个指针
3、向右看,有一个(int),代表这个ptr指针指向的是一个函数,这个函数有个参数是int类型的(那么(*ptr)左边的整体也就是这个函数的返回值了)
4、向左看,有一个*,代表这个返回值是一个指针
5、向右看,没东西了
6、向左看,是一个int,那么就是说这个返回值是一个指向int类型的指针
7、向右看,还是没东西
8、向左看,是一个const,那么就是说这个返回值是一个指向const int类型的指针
9、分析完毕,总的来说:ptr是一个指向函数的指针,这个函数带有一个int类型的参数并返回一个指针,这个指针 指向const int类型
const int* ptr; // ptr是一个指针,它指向一个const int类型的变量  
int const* ptr; // ptr是一个指针,它指向一个int const类型的变量,和上面一样 
int* const ptr;// ptr是一个const 类型的变量,这个变量是一个指针类型的,指向一个int类型变量(也就是说ptr是一个const 类型的指针类型变量,它可以指向一个int类型的变量) 

编辑于 2016-07-16 23:17:40 回复(1)
前两个表示:指针指向的内容不能改变,指针本身可以改变。
第三个表示:指针本身不能改变,指针指向的内容可以改变。
发表于 2015-08-21 09:41:11 回复(0)
一个判断方法就是把类型说明去掉,看留下来的东西,const后面跟的是什么, 如果跟的是*,表示const修饰的是指针指向的东西,如果直接跟着指针变量名,说明const修饰的是这个指针,所以这个指针的指向是不能发生变化的。
编辑于 2015-08-06 17:02:48 回复(0)
1)const int* ptr和 int const* ptr意义相同
表示ptr指向一个int类型的变量,且这个int变量是常量,同时ptr可以指向其他变量
2)int* const ptr;
表示ptr这个指针是个常量,它只能指向int类型的某个具体变量,且不能指向其他变量
发表于 2015-06-18 14:05:13 回复(0)
前两个指针指向的值不能变,后一个指针不能变。
发表于 2015-07-26 10:55:13 回复(0)
前两个作用相同:
指针指向的变量可以改变,但是值不可以改变。
指针指向的变量可以改变,但是值不可以改变。
表示指针不指向其他对象
发表于 2015-07-08 11:00:26 回复(0)
const int* ptr; int const* ptr; 声明一个指针ptr,指向const int型,即指向的值不能修改
int* const ptr;声明一个指针ptr,指向int型,指针的值不能修改
发表于 2015-06-12 16:47:46 回复(0)
1.常量指针:指针指向的是个常量,指向的值不能改变,指针的值能改变
2.和1一样
3.指针常量:指针指向的不一定是常量,但是指针是个常量,指针的值不能改变
发表于 2015-06-03 15:40:38 回复(0)
指向常量整型的指针
指向常量整型的指针
指向整型的指针常量
发表于 2015-06-01 07:41:18 回复(0)
const 在 *左边代表 指向的内容不可以修改,但是可以改变指向
const 在 *右边边代表  不能改变指向 (常量指针) ,但是可以修改指向的内容
const 在*的左边 和右边,代表 既不能改变指向, 又不能修改内容
发表于 2015-05-30 22:25:30 回复(0)
const int* ptr 和int const* ptr 的含义是一样的,是定义了一个指向整型数据的指针,其中指针ptr是变量,在初始化后依然可以重新赋值,但*pi是个常量。
int* const ptr是定义了一个指向整形数据的指针常量,在ptr初始化后,不能对其重新赋值,但是*ptr是变量,是可以改变的。

发表于 2015-05-27 16:33:16 回复(0)
1、指针指向的变量可以改变,但是值不可以改变。
2、指针指向的变量可以改变,但是值不可以改变。
3、表示指针不指向其他对象。
发表于 2015-05-19 19:40:05 回复(0)
一二 指针指向的内容不能改变 即指针指向的内容是常量,而指针的值可以改变
三    常量指针,指针为常量,指向的内容可以被改变,指针的值不能改变
发表于 2015-05-11 23:01:24 回复(0)
前两个代表指向const变量的指针,即指针所指向的对象是const的,不能使用指针修改;最后一个代表const指针,即指针本身是const的,不能指向其他地址
发表于 2015-05-05 14:24:10 回复(0)