C语言11
来源:互联网 发布:c4d最新版软件下载 编辑:程序博客网 时间:2024/06/16 13:34
今天学习了C中的指针,指针*p的核心是取地址的值,P为地址,
1.理解while在这里用途
2.理解通过地址修改地址所在的数值
3.通过dll文件给.exe进行打针的操作
#include <stdio.h>
#include <Windows.h>
void main(){
int time=0;
printf("%x\n",&time);
while(1){
printf("time=%d\n",++time);
Sleep(1000);
}
}
#include <stdio.h>
_declspec(dllexport) goNum(){
int *p = 0x38fcc4;
*p=4000;
}
倒计时的操作,第二个4000可以打针进入第一个,这样可以重置时间,这就是外挂的原型,修改内存中的数据来达成自己想要的效果。单机游戏的数据都是特定的,可以用这种打针方法,自己编写程序替换原有内存中的数据,已达成外挂的效果。
在换地址的时候,值是不会改变的。在一个函数中交换地址是有效的,不同函数则无效。
int *p=0;
int *p = NULL;这两个是等价的
要注意形参和实参的关系。
int swap(int *p1,int *p2){ 两种形式,一种是以*p为变量,这时候需要定义一个新的变量c来开辟内存空间,然后给*p赋值,不然会造成系统崩溃,一种是以p为变量
int p ; 可以直接使用。
p = *p1;
*p1 = *p2;
*p2 = p;
return *p1,*p2;
}
int swap(int *p1,int *p2){
int c=o;
int * p = &c ; 这个地方int *p 没有赋值的情况是不能使用的,windows上面崩溃,linux是报错不能直接使用。
*p = *p1;
*p1 = *p2;
*p2 = *p;
return *p1,*p2;
}
void main(){
int a ,b;
int p1,p2;
scanf("%d,%d",&a,&b);
p1=&a;
p2=&b;
if(a<b){
swap(p1,p2)
printf|("%d,%d",a,b)
}
}
- C语言例题11:
- c语言练习11
- 【C语言】11-指针
- 【C语言】11-指针
- 【C语言】11-指针
- 【C语言】11-指针
- 【C语言】11-指针
- c语言思想11
- 【C语言】11-指针
- C语言整理-11
- C语言11
- C语言学习11
- c语言 11-5
- 【C语言基础】C语言第11章
- C语言学习笔记(11)
- C语言学习笔记11
- 5. 11 C语言 算法
- C语言11 -- 函数指针
- 浅谈Android版本控制—SVN
- C语言 strtok函数使用
- 最大连续子序列 hd 1231
- c++ 学习之路 第五天 const理解
- DELPHI中的快捷方式一览(完全正式版)
- C语言11
- Volley框架
- 金融、支付行业的开发者不得不知道的float、double计算误差问题
- C++11 下的线程安全模板对象
- Delphi使用技巧四则
- poj-2240-Arbitrage(Bellman-ford算法练习 + Floyd算法练习)
- 手摇算法(三重反转算法/内存反转算法)
- Tickets 1260
- Libcurl多线程crash问题