区别:
1、本质
指针常量:本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。
常量指针:本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。
2、地址
指针常量:在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。
常量指针:指针可以指向其他地址
3、内容
指针常量:指向的内容可以修改
常量指针:在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。
扩展资料
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。
从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。
当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。
从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。
指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32 位程序里,所有类型的指针的值都是一个32 位整数,因为32 位程序里内存地址全都是32 位长。指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。
在32 位平台里,指针本身占据了4 个字节的长度。指针本身占据的内存这个概念在判断一个指针表达式(后面会解释)是否是左值时很有用。
参考资料:百度百科 - 指针
非常感谢!
追答关键要看const修饰的是谁
int const const int的写法是一样的
指针的话看const离谁( 是‘*’ 还是‘指针变量名’)比较近就是修饰谁的,比如
const * 表示带*运算对象的是常量,也就是*p 不可变 (暗示p可变,p不带‘*’ 嘛)
* const 变量名 表示变量名是常量 也就是p不可变 (暗示*p可变,const没有修饰‘*“ 嘛)
常量指针和指针常量有什么区别
区别:1、本质 指针常量:本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。常量指针:本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。2、地址 指针常量:在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始...
常量指针和指针常量的区别
常量指针和指针常量主要的区别在于其定义和用途。常量指针(const pointer)是指向常量的指针。这个指针不能通过其来修改它所指向常量的值,即常量的值不可变,不可以通过该指针修改其值。但是该指针可以指向其他的常量。它的声明方式是:数据类型 const * 变量名。指针常量(pointer constant)是指针本身是...
常量指针与指针常量的区别
常量指针与指针常量的主要区别在于它们的修饰对象和所表达的含义。首先,常量指针是指向常量的指针,其修饰的是指针所指向的数据,而不是指针本身。这意味着通过该指针,我们不能修改所指向的数据的值,但可以改变指针的指向。例如,const int *p,这里的p是一个指向const int的指针,我们不能通过p来修改...
谁能说清指针常量和常量指针的区别
常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。指针指向的对象是常量,那么这个对象不能被更改。在C\/C++中,常量指针是这样声明的:1)const int *p;2)int const *p;常量指针的使用要注意,指针...
指针常量和常量指针的区
指针常量和常量指针在C++中具有不同的性质。主要的区别在于,常量指针一旦初始化,指向的内存地址是固定的,不能更改指向,例如`int * const a = &b`,即使想改变`a`指向其他变量如`a = &c`也是不允许的,但可以修改其指向内存的值,如`*a = 20`。而指向常量的指针,如`int const *a`,...
【C\/C++】深入理解C++中常量指针、指针常量、引用的区别
常量指针的特点是,它指向的变量保持不变,但指针自身的地址可调整。在C++中,常量指针常用于传递只读属性参数,确保参数在函数调用过程中的安全性。相比之下,指针常量的指针地址固定不可变,但其指向的变量值可以改变。指针常量提供了一种更安全的引用方式,简化了编程逻辑,避免了对NULL的判断。引用的...
C\/C++杂谈(1)指针常量、常量指针
指针常量意味着指针本身是一个常量,其内部的内存地址(钥匙)不能被改变。而常量指针是指针指向的内存地址所对应的值(保险箱里的东西)不能被修改,即使指针可以改变指向的位置(新的钥匙)。在代码中,区分它们的简单方法是检查const关键字的位置。如果const紧跟在*(指针)后面,那么是常量指针;反之,...
指针常量和常量指针的区别
常指针和常引用在功能上有所限制,就是不能通过他们更改其指向的变量的数据(值)2. 指针常量 定义格式: 数据类型 *const 指针常量=常量值;如char ch,*const pch=&ch;(我是一步完成的,你也可以分开)也就是说这个指针本身是个常量,不可改变,即它所指向的地址是固定的。但,ch是可以改变的...
什么是常量指针,指针常量?
2.指针常量 形式 int const *p ;注意,const 关键字,int的位置可以互换,不影响,注意*号与const的位置 关键点: const 修饰的是 *p (这个是重点);我们知道p里面是一个地址,那么*p就是他所指向的地址里面的数据,是一个值,不是一个地址了。那是什么意思了,const的意思你还记得吗?就是定义...
C++中常函数的返回值是数组指针就要定义为常指针 返回值是变量指针就...
常量指针就是指向常量的指针,指针所指向的地址的内容是不可修改的。而指针常量就是是指针的常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改。根据你的需要,如果函数返回的那个数组指针指向的内容是不允许修改的话,那么其返回值就定义为常量,用const进行修饰,同时用来接收该函数返回值...