问个const的问题
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
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
javascript:不要问问题
javascript:不要问问题
华为嵌入式面试题.pdf
华为嵌入式面试题.pdf
JavaScript网页设计活学活用300问
JavaScript网页设计活学活用300问


