#include<stdio.h>
#include<stdlib.h>
//内存是由按顺序编号的一系列存储单元组成的,在内存中每个存储单元都有唯一的地址,
//通过地址可以方便地在内存单元中存取信息。
//内存中的数据要靠供电来维持,当计算机关机或者断电时,其中的所有数据就永久消失了。
//一个程序载入内存,代码数据都有地址
//外挂就是调用函数,修改数据
//函数就是代码,变量就是数据
//内存与CPU读写速度快,断电就没有了,容量比较小,成本比较高
//高级服务器、读写很频繁的文件全部放入内存
//内存地址
//为了正确地访问每个内存单元,对其进行编址,以32位计算机为例,其地址空间为32位,采用32位地址编码,诸如0x12345678的形式。
//内存地址是连续的,相邻内存单元间的地址差1,可以把内存单元看做一个平坦连续的一维空间。
//32位计算机,内存最大为4G
//4G = 4 * 1024 M = 4 * 1024 * 1024 KB = 4 * 1024 * 1024 * 1024 Byte = 4 * 1024 * 1024 * 1024
// = 2^2 * 2^10 * 2^10 * 2^10
// = 2^32 Byte
//一个字节即地址加1,内存中每一个字节都有一个编号,即地址
//地址空间为32位
//内存中保存的是数据,在计算机中,一切信息都是以二进制数据的形式体现的,每个内存单元的容量是1B,即1bit(8个0/1二进制位)
//中央处理器,即CPU,进行的处理离不开内存。
//使用windows系统时,双击某个可执行程序,CPU会执行它,这实际是复杂的内存载入过程:
//(1)程序要进行的操作对应的代码被装载到代码区
//(2)全局和静态数据等装载到数据区
//(3)开辟堆栈,供临时变量使用
//内存中的数据是多种多样的,可以是操作,也可以是数据,都被存储在一个个的内存小格子中,每个小格子存储8个二进制位
void main()
{
printf("%x\n", main1); //函数名就是函数的首地址
int num;
printf("%x\n", &num);
num = 4;
printf("%d\n", num);
//设置断点
//根据地址在内存中修改变量的值
printf("%d\n", num);
system("pause");
}
内存
最新推荐文章于 2024-08-07 22:39:33 发布