首页 > 代码库 > 指针初窥
指针初窥
突然发现题目写的有些大,一下子不知道应该怎么写了
//改变一个数据,需要数据的地址,也就是指针,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");}
_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));}
指针初窥
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。