int main(){
const int p=6;
int * q=(int* ) & p ;
*q=7;
cout<<&p<<" "<<q<<endl;
cout<<*q<<" "<<p;
}
输出结果是:
0x6dfe98 0x6dfe98
7 6
两个变量的地址都是一样的,为什么值不一样啊
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已采纳
下面这种情况是为什么啊?关于C++常量和指针
收起
- 写回答
- 好问题 0 提建议
- 关注问题
- 微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
skyshell 2017-11-15 04:40关注这个原因跟编译器有关系,因为 你在函数内使用 const int p = 6; 编译器会将后面直接使用 p的地方替换成 6,这样, 在 cout<< *q<<" " <<p,;就变成了cout<<*q<<""<<6;
这样就会出现你说的这种情况,你可以把const去掉 这样就不会出现问题了,或者将 const int p = 6放在全局变量,这样你的程序肯定会有写异常的,因为申明了const 是不能写的,我想我解释的很明白了吧!!本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫点击复制链接分享编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览
轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2016-05-19 22:30回答 4 已采纳 一) 常量指针。 常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。 指针指向的对象是常量,那么
- 2020-05-11 10:53回答 2 已采纳 是根据ABCD三人说的话判断四大湖关系的问题吧 换一个思路,在switch的时候已经知道了排名,按照排名放在字符串数组里,最后遍历字符串数组从下标0开始按顺序输出就行了
- 2016-05-19 22:09回答 7 已采纳 this指针的常量性和函数的常量性相关,和函数签名有关 const 函数 中,是 this 是 const T*const this; const volatile 签名的 函数中是 con
- 2020-09-01 20:50在C++编程语言中,指针是一个非常关键的特性,它可以用来间接地访问和修改内存中的数据。然而,有时候我们希望限制对指针的操作,这时就需要用到指针常量和常量指针。理解这两者的区别对于编写安全、高效的代码至关...
- 2018-04-17 22:49回答 4 已采纳 ``` 也可以用DP #include #include int main() { int count; int a[100];
- 2016-06-10 21:20回答 3 已采纳 这里跟指针本身是否const没有关系,字符串常量是不可更改的。你可以试试 ``` char tmp[] = "abcd"; char* const pc = tmp; *(pc+2)
- 2017-11-04 18:33回答 1 已采纳 &p是存储这个指针本身的地址,而p是这个指针表示的地址。所以不同。 指针本身也是一个值,只是这个值不是具体的内容,而是某个内容的地址。既然它也是一个值,它也需要放在内存的某个地方存着,所以它也地址。
- 2024-06-06 04:59m0_53911267的博客 const int * pn = # // 指针指向一个常量int * const finger = # //指针本身为常量上面代码中,finger只能指向num,但允许finger修改num的值,不能使用pn来修改num的值,但允许pn指向另一个位置!简而言之,finger和...
- 2018-05-01 07:55回答 2 已采纳 ``` #include #include #include #include using namespace std; int n,c,a[10000],b
- 2018-10-10 16:03回答 9 已采纳 ``` #include using namespace std; int main() { int a, b, c, y, n = 0; cout > n;
- 2021-01-20 04:25在C/C++编程语言中,理解常量指针、指针常量、函数指针以及指针函数的概念是非常重要的。这些概念涉及到指针的操作和使用,对于编写高效且安全的代码至关重要。 首先,我们来解释“常量指针”和“指针常量”。在C/...
- 2020-08-30 01:02在C++编程语言中,常量是一个非常重要的概念,它用于定义不可更改的值。本文将深入探讨常量指针和常量引用的初始化,帮助理解这两种特殊的常量形式。 首先,我们需要明白常量(const)的基本用法。常量在声明时必须...
- 2022-04-04 14:02ZhengXinTang的博客 普通变量,直接保存值。 指针:它保存一个值(或 null)的地址,可以检索指向该地址处的值 。...引用不能为空,指针可以为空, 这样的好处是引用可以很安全的使用,不用担心非法访问这类系统错误。 坏处则是你不能..
- 2012-03-31 15:54### C_C++中的指针常量与常量指针详解 #### 一、定义与基本概念 在C/C++编程语言中,指针是一个非常重要的概念,它允许程序员直接访问和操作内存地址。而在指针的基础上,衍生出了两种特殊的指针类型——**指针...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
- 公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司