详解C语言中的变量

什么是变量

变量在C语言中就是一个容器,通常是一块内存。

声明变量

变量类型 变量名;
例如:
int x;

在上面的代码里,int就是变量类型,x就是变量名。变量类型用来说明数据宽度,变量名的命名规则与函数名一致。。

变量类型 数据宽度
int 4个字节
short 2个字节
char 1个字节

全局变量

  • 编译的时候就已经确定了内存和宽度,变量名就是内存地址的别名。
int x;			//声明变量

void main()		//入口
{
   
	x = 1;		//赋值
	return;		//程序结束
}

我们从反汇编中查看一下这个程序,从这里可以看到,全局变量它有一个独一无二的内存编号,从这里我们可以理解,什么是变量名?变量名就是内存地址的别名。
在这里插入图片描述

  • 如果不重写编译,全局变量的内存地址不变,游戏外挂中找“基址”其实就是找全局变量。

    这句话怎么理解呢,就是我们编写完程序按F7构建,现在我不按F7了,依然是刚才的程序,我直接按F5让它运行,我们看一下它内存地址的变化:

int x;			//声明变量

void main()		//入口
{
   
	x = 1;		//赋值
	return;		//程序结束
}

在这里插入图片描述可以看到,内存地址没有发生变化,也就是只要不重建,内存编号就始终不会改变。

做一个小“外挂”

我们做一个小实验,假设我们在玩传奇,下面的这一段代码是我们的攻击频率与攻击力,我们怎么样来达到每刀999的效果呢?

#include <stdio.h>
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值