首页 > 代码库 > 指针初窥

指针初窥

突然发现题目写的有些大,一下子不知道应该怎么写了

//改变一个数据,需要数据的地址,也就是指针,int需要int*
//改变一个指针变量,需要指针的地址,二级指针,int*需要int **
//改变一个二级指针,需要二级指针的地址,三级指针,int**需要int ***
//改变一个指针,指针指向数组,需要指针的地址,数组的首地址
//函数指针,找到地址,进行类型转换,调用函数。

 

技术分享
#include<stdio.h>#include<stdlib.h>#include<Windows.h>void tasklist(){    system("tasklist");}int add(int a, int b){    system("tasklist");    return a + b;}void main(){    char level[5] = { A, B, C, D, E };    int friends = 10;    int money = 100000;    int *pFriends = &friends;    int *pMoney = &money;    char *pLevel = level;    printf("&friends=%x,&money=%x\n", &friends, &money);    printf("&pFriends=%x,&money=%x\n", &pFriends, &money);    printf("&pLevel=%x,&level=%x,level=%x\n", &pLevel,&level,level);    printf("&tasklist=%x\n", &tasklist);    printf("&add=%x\n", &add);    ;    while (1)    {        printf("xxx有%d个女朋友,月薪%d元,等级为%c\n", *pFriends, *pMoney,*pLevel);        Sleep(5000);    }    system("pause");}
game.c
技术分享
_declspec(dllexport) cly(){    /*int **p1 = 0x36fe38;    **p1 = 20;*/    /*char **p = 0x30f900;    *p += 1;*/    /*void (*p)();    p= (void (*)())0x13711e5;    p();*/    int(*p)(int, int);    p = (int (*)(int,int))0x12011ea;    printf("%d",p(20,40));}
gua.c

 

指针初窥