指针初窥

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

//改变一个数据,需要数据的地址,也就是指针,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
", &friends, &money);
    printf("&pFriends=%x,&money=%x
", &pFriends, &money);
    printf("&pLevel=%x,&level=%x,level=%x
", &pLevel,&level,level);
    printf("&tasklist=%x
", &tasklist);
    printf("&add=%x
", &add);


    ;
    while (1)
    {
        printf("xxx有%d个女朋友,月薪%d元,等级为%c
", *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
原文地址:https://www.cnblogs.com/yinmo/p/4248441.html