深挖C++赋值

详解赋值

cpp 复制代码
const int a = 10;
int b = a;

&a

0x000000b7c6afef34 {56496}

&a

0x000000b7c6afef34 {10}

&b

0x000000b7c6afef54 {10}

总结: int a = 10 是指在内存中(栈)中创建一个int (4 byte)大小的空间,以小端字节序存储(低位在前,高位在后),即:0x0A 0x00 0x00 0x00,a 本身是一个 变量名,它代表了分配在栈上的那块内存空间。

内存地址:当你使用变量 a 时,你实际上是在使用栈中为 a 分配的 内存空间。你可以通过 取地址操作符 & 获取这个内存地址:&a。

int b = a; 不是将 a 对应的内存地址 新添一个变量名b指向它( const int& b = a;),而是在栈上新建一个 int 类型的内存块, 将 a 的值拷贝到其中。

相关推荐
闲猫4 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
哥不想学算法4 小时前
【C++】字符串字面量拼接
开发语言·c++
gugucoding6 小时前
21. 【C语言】打包不同类型:结构体
c语言·开发语言
自信的未来6 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty6 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
怕孤单的草丛6 小时前
缓存管理面临的主要问题
java·数据库·缓存
F20226974866 小时前
西门子 PLC 与 C# 通信
开发语言·c#
gugucoding7 小时前
31. 【C语言】堆栈与队列的实现
c语言·开发语言·数据结构·链表
万联WANFLOW8 小时前
多分支企业组网,IP 网段到底该怎么规划
开发语言·php