6、变量内存分析

1、什么是内存

之前文章有提到,动态数据。动态数据需要存储介质进行存放。这个介质就叫内存。

2、内存存在的目的

缓冲地带,解决了静态数据(硬盘中)与CPU的交互速度。
交互

3、内存地址

内存地址是一个编号,代表一个内存空间。而在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。

4、理解内存地址
4.1、测试源代码scanf.c
1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
void main()
{
// 声明变量a为整形类型
int a;
// 等待输入整形数据,并把值赋给变量a
scanf("%d",&a);
// 打印变量a的内容
printf("%d",a);
}
4.2、运行结果

运行结果

4.3、执行流程

执行流程

4.4、内存分布

内存分布

4.5、描述
  • 变量等标识符说白了是便于程序员阅读,而计算机是无法识别的。因此最终变量还是得转换为内存地址才能被计算机所运行
  • 而变量能转换为具体的内存地址,则依靠”符号表”作为映射,才能正常工作