内存

#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");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值