const int *p和int * const p的区别

如题所述

const int *p和int * const p的区别如下:
const int *p表明指向的对象是const型,不可以修改,但是指针p的指向可以修改。
* const p表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改。
一般来说用*限定的是指针区域存放的内容,不用*的是内存地址。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-19
http://www.cnblogs.com/xwdreamer/archive/2012/04/12/2444494.html
你可以看看这篇文章,讲的很仔细本回答被提问者采纳

const int *p和int * const p的区别
const int *p和int * const p的区别如下:const int *p表明指向的对象是const型,不可以修改,但是指针p的指向可以修改。const p表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改。一般来说用*限定的是指针区域存放的内容,不用*的是内存地址。

const int *p和 int const *p有区别?
没有任何区别,写法不一样而已,编译器会将这两种写法等同对待,表示指向一个const对象的指针。

int const *p 和int *const p 一样吗
不一样。前者表明指向的对象是const型,不可以修改,但是指针p的指向可以修改;后者表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改。

谁能给我讲下const int *p和int const *p 和const int const*p
没有区别。const int p是指向const对象的指针,p指向的对象不能改(也就是*p的值不能改),但是p本身(地址)可以改。const int const*p是p本身不能改,它所指向的对象也不能改

const int *p与 int const* p有什么不同
是 const int *p和int * const p吧 前一个指的是p指针所指的变量是一个定值,你不可以通过p来改变它的值 后一个指的是p是一个定值,你不可改变p的值,但是可以改变p所指向的值

一下语句含义: int * const P; int const *P; const int *p;
int * const P; 非常量数据,常量指针 const int const *P;常量数据,常量指针 const int *p; 常量数据,非常量指针

const int *p 与 int const* p 和const int const *p区别
1、const[空格]int[空格]*p 只是一种写法,2、也可以写成const[空格]int[空格]*[空格]p。3、也可以写成 const[空格]int*[空格]p,很老的编译器可能只支持这种写法。下面我就不写[空格]了。从语义上讲,第3种写法(int* p)比较直观,我们要定义的是一个指向int类型的指针:p 但是,这种写法最...

一下语句含义: int * const P; int const *P; const int *p;
采用"近水楼台先得月"的方法:即忽略数据类型的存在,再看const离谁最近.int const p:const 离p近,说明p的指向不能变,即p开始指向哪个变量就只能指向这个变量,不能更改.但p指向的变量可以变.int const p:const离*p近,说明p的指向可能变,但p指向的变量不可以变.const int p同int const p.

c++:常量,const int,int const区别?
比如你看 (1) const int *p;和 (2) int * const p; 中const修饰的常量就不一样,(1)中去掉int变为 const *p ,(2)中去掉int * 变为 const p,这时你会发现const修饰的明显是不同的变量,const *p表示*p的数值为常量但p的值(地址)不是常量,const p 则表示p的值是常量。

const int * p p = 5 int * const p *p = 5 的区别
const int * p定义的是(const int)型的指针,指向的是int型的常量,指向的值不能改。int * const p定义的是 const的指针,它的指向不能改。你试试这个程序报错的都是那几行就知道了。void main(){ int a = 5,b = 6;const int * p1 = &a;int * const p2 = &a;(*p1)++;\/\/错...

相似回答