所谓的外挂,流氓软件,系统病毒无非也是这个原理。
#include<stdio.h> void hit(int *p){ *p=*p-1919; } /*void hit1(int *p){ *p=*p+810; } */ void test2(int **p){ printf("**p=%d,&(*p)=%d,*p=%d,p=%d,&p=%d\n",**p,&(*p),*p,p,&p); } int main(){ int *p1=NULL; int hp; void(*p2)(int *p)=hit;//定义了一个函数指针函数名即为hit参数即为*p //void(**p3)(int *p); //p3=&p2; //*p3=hit1;//将hit函数的首地址放到*p3内 hp=114514; p1=&hp; printf("*p1=%d,p1=%d,&p1=%d,&(*p1)=%d,hp=%d,&hp=%d\n",*p1,p1,&p1,&(*p1),hp,&hp); p2(&hp); printf("*p1=%d,p1=%d,&p1=%d,&(*p1)=%d,hp=%d,&hp=%d\n",*p1,p1,&p1,&(*p1),hp,&hp); test2(&p1); getchar(); return 0; }
此代码对于注释代码为加上之前仅为对于一级指针的函数应用。定义了一个参数应为一级指针的函数hit(i