为什么指向常量的指针,常量值可以变动

如题所述

指向常量的指针,指向的内容不可以改变,但指针变量的内容是可以改变的,可以改成指向另外位置的数据(不一定非得是常量)
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么指向常量的指针,常量值可以变动
指向常量的指针,指向的内容不可以改变,但指针变量的内容是可以改变的,可以改成指向另外位置的数据(不一定非得是常量)

指向常量的指针和常量指针的区别
第一个是限定x指向的对象的值不能修改,第二个是限定x的值不能修改,也就是说,x指定的对象不能修改。

为什么指向常量的指针不能修改该常量的值
常量在定义的时候,比如加上了const限定符,那么编译时,系统为其分配内存的时候会把它放在常量区,全局变量和静态变量放在静态区,new或者malloc出来的空间放在堆里,局部变量和函数参数放在栈里。常量区是只读的,编译系统限制了对它的写操作,所以光有指针是不能修改其值的。

求助指针常量,指向常量的指针,常量指针有什么区别
常量指针是指--指向常量的指针,顾名思义,就是指针指向的是常量,即,它不能指向变量,它指向的内容不能被改变,不能通过指针来修改它指向的内容,但是指针自身不是常量,它自身的值可以改变,从而可以指向另一个常量。指针常量是指--指针本身是常量。它指向的地址是不可改变的,但地址里的内容可以...

详解C语言指针与常量的关系
表示指向的元素不可变,而指针常量的`const`放在类型声明后,表示指针本身不可变,但指向的元素可能可变。为了保护数据的完整,可以使用两个`const`来声明一个既不可更改地址也不可更改数据的特殊指针。在异步图书社区,你可以找到丰富的IT资源和最新的图书推荐,如《操作系统真象还原》等。

常量指针和指针常量的区别
这个指针不能通过其来修改它所指向常量的值,即常量的值不可变,不可以通过该指针修改其值。但是该指针可以指向其他的常量。它的声明方式是:数据类型 const * 变量名。指针常量(pointer constant)是指针本身是常量,即该指针只能指向某个常量,不可再指向其他常量。指针里面所存储的内容(内存地址)是...

C语言指针中,不能改变指向的数据,但是可以改变它的值是什么意思?
这个是常量指针的说法。 意思是指向常量的指针。比如 const char * p="abcd";可以做p="mnop"这样的赋值, 即可以改变p值。但不能做*p='s'这样的赋值。即不能改变指向的数据。

C++中常函数的返回值是数组指针就要定义为常指针 返回值是变量指针就...
而指针常量就是是指针的常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改。根据你的需要,如果函数返回的那个数组指针指向的内容是不允许修改的话,那么其返回值就定义为常量,用const进行修饰,同时用来接收该函数返回值的指针也必须申明为常量指针,保证函数返回指针的类型与接收返回值的...

谁能说清指针常量和常量指针的区别
可以这么想,*左侧是常量,指针指向的对象是常量。二) 指针常量 指针是形容词,常量是名词。这回是以常量为中心的一个偏正结构短语。那么,指针常量的本质是一个常量,而用指针修饰它,那么说明这个常量的值应该是一个指针。指针常量的值是指针,这个值因为是常量,所以不能被赋值。在C\/C++中,指针...

指针常量和常量指针的区
主要的区别在于,常量指针一旦初始化,指向的内存地址是固定的,不能更改指向,例如`int * const a = &b`,即使想改变`a`指向其他变量如`a = &c`也是不允许的,但可以修改其指向内存的值,如`*a = 20`。而指向常量的指针,如`int const *a`,虽然可以改变指向,但指向的内存内容是不可修改...

相似回答