问个const的问题

trueytht trueytht 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
const int a = 10;
int *p = (int *) &a;
cout << *p << " " << a << endl;
cout << p << " " << &p << endl;
*p = 20;

cout << *p << " " << a << endl;

cout << p << " " << &p << endl;

return 0;
}

输出结果:
10 10
0xbfe46c64 0xbfe46c60
20 10
0xbfe46c64 0xbfe46c60

const是readonly,原来我以为是新开辟了一块物理内存,但是 p的地址没变,p所指向的内容也没变。
请告知什么原理?多谢!
...全文

相关推荐

面试官竟然问我JavaScript中var、let和const有什么区别这样简单的问题?

这几天逛CSDN论坛,发现在一些前端模块发的问题大都是因为var、let和const搞不清楚导致的,今天我来浅析下,希望对看到这篇博客的童鞋有所帮助~ What we know is that…(英语作文万能开头) :在JavaScript中有三种声明变量的方式:var、let、const。 目录1.var2. let3. const 1.var (1)var定义的变量在之后可以修改,如果不初始化会输出undefined,不会报错。 var a; console.log(a); // undefined // ----------------------------- console.l

weixin_38683195

ES6新特性一: let和const命令详解

本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下: 1. let 命令 ① 在js中是没有块级作用域的,var 声明的变量作用域是整个函数体,而let可以起到这一作用 { let a = 1; var b = 2; } console.log(b); // 2 console.log(a); // a is not defind ② 而let可以起到这一作用啊在js中变量和函数的声明会提升到当前作用域最顶部执行。这样就会出现问题。 var a = []; //函数和变量i会最先进行声明,同时全局变量i经过for循环赋值为10 for (var

weixin_38618315

javascript:不要问问题

javascript:不要问问题

log边缘

华为嵌入式面试题.pdf

华为嵌入式面试题.pdf

cyh76339129

JavaScript网页设计活学活用300问

JavaScript网页设计活学活用300问

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