变量的内存实质

一、前言

C指针学习笔记是个人记录学习C指针的专栏,相关笔记会收录在里面;

学习书籍(pdf)是《彻底搞定C指针》,感觉讲的很不错;

代码语言:C/C++ IDE:Clion 

资源可以从我的百度网盘里领取:

链接:https://pan.baidu.com/s/1nkX9DqWQFuiuequqyTslaw 

提取码:1024

二、变量的内存实质

1. C语言变量的实质
就像去电影院观看电影,每个人拿着票根据上面的编号去找对应的位置,然后落座观影。同样的,我们的内存要存放各种各样的数据,内存就好比座位也要进行编号,这就是第一个概念——内存编址。座位可以是遵循“一个座位 对应一个号码”的原则,从“第 1 号”开始编号。而内存则是按一个字节接着一 个字节的次序进行编址,如上图所示。每个字节都有个编号,我们称之为内存地址
当我们声明变量时:

int  i;
char a;

内存中的映像如图所示,这里假设我们int的宽度为16位,不同系统中的int的宽度可能不一样

2.赋值给变量

我们可以在上面的声明变量再进一步赋值

i = 30;
a = 't';

内存中的映像如下图所示

3. 变量的地址问题

我们先看一个C++程序

//代码1.1
#include <iostream>

int main()
{
    using namespace std;
    int i = 1;
    cout << i << endl; //打印i的值
    cout << &i << endl; //打印i的在内存的地址,通常用十六进制表示
}

 下面是程序的运行结果

1
0xffffcc3c

おすすめ

転載: blog.csdn.net/m0_50829573/article/details/121320506