• 指针初窥


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

    //改变一个数据,需要数据的地址,也就是指针,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
  • 相关阅读:
    N个数求和(PTA)
    集合相似度(PTA)
    方格取数(1)(状压dp入门)
    Drainage Ditches(dinic模板)
    The Accomodation of Students(二分图判断+匈牙利算法)
    Gopher II(匈牙利算法模板)
    Apple Tree(树状数组)
    node.js中的文件系统
    canvas简易画板
    canvas绘制爱心的几种方法
  • 原文地址:https://www.cnblogs.com/yinmo/p/4248441.html
Copyright © 2020-2023  润新知