关于指向常量的指针(const int*)的疑问

brk1985 brk1985 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include <iostream>
//#include "string.h"

using namespace std;

void main()
{
//char* test1 = test("abcd");
const int i = 1;
int j = 10;
int k = 20;
const int* a = &j;//a指向j;a可变,a指向的对象不可变
cout << "a1=" << *a << endl;
a= &k;//①a指向变量k,a指向的不是常量吗,怎么非常量也可以???
cout << "a2=" << *a << endl;
k=5;//②此时a指向k,不是说a指向的对象不可变吗???
//*a=5;//③a指向的对象值不可变,编译出错,*a不就是k吗???
cout << "a3=" << *a << endl;

}


①a指向变量k,a指向的不是常量吗,怎么非常量也可以???
②此时a指向k,不是说a指向的对象不可变吗???
③a指向的对象值不可变,编译出错,*a不就是k吗???
...全文

相关推荐

深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)

对于指针和常量,有以下三种形式都是正确的: 代码如下:const char * myPtr = &char_A;//指向常量的指针char * const myPtr = &char_A;//常量的指针const char * const myPtr = &char_A;//指向常量的常量指针下面依次对这三种类型进行介绍。因为*操作符是左操作符,左操作符的优先级是从右到左,对于1.常量指针(Constant Pointers) 代码如下:int * const p先看const再看* ,是p是一个常量类型的指针,不能修改这个指针的指向,但是这个指针所指向的地址上存储的值可以修改。实例1: 代码

weixin_38684509

详细分析c++ const 指针与指向const的指针

主要介绍了c++ const 指针与指向const的指针的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

weixin_38537689

const用法 const int *a; int * const a;

const char* pCh; // 指向字符串常量的指针; 表示pch是一个指针,指向字符串常量。根据需要还可以指向另一个字符串。 但字符串不能被改变。 char* const pCh; // 指向字符串的常量指针; 表示pch是一个字符串常指针,该指针只能指向该字符串,不可以在让他指向另一字符串。但该字符串的内容可以变化。 const int a; //a是个整型常量 int const a; //同上 const int *a; //a是一个指向整型常量的指针(整型常量不可修改,但指针a可以) int * const a; //a是一个指向整型数的常量指针(整型常量可修改,但指针a不可以) int const *a const; //a是一个指向整型常量的常量指针(两者都不可以修改)

dy506390367

C语言中常量指针与指针常量区别浅析

主要介绍了C语言中常量指针与指针常量区别,有需要的朋友可以参考一下

weixin_38640794

函数指针和指针函数,const的用法,指针常量,常量指针的用法

函数指针和指针函数的区别,以及const的用法,指针常量,常量指针的用法

yanzi1225627
评论 28
收藏 已收藏
分享
返回顶部
brk1985
C++ 语言 65,214 成员 250,514 内容