一、调戏百度云管家

 #include<stdlib.h>
#include<windows.h> _declspec(dllexport) void go(){
while(){
ShellExecuteA(,"open","http://www.baidu.com",,,);
MessageBoxA(,"因为你的百度网盘存放了大量岛国大片","来自百度的邀请",);
malloc(**);//1k=1024Byte
Sleep();
}
}

二、指针

 #include<stdio.h>
#include<stdlib.h> void main0()
{
int a = ;
int b = ;
int *p = &a;
printf("*p=%d,a=%d\n", *p, a); //*p, a 等价
printf("p=%x,&a=%x\n", p, &a); //p, &a 等价
p = &b; //指针改变指向
printf("%d\n", *p);
getchar();
} void main()
{
int a = ;
int b = ;
int *p = &a; //&a是一个地址,p存放地址,是一个指针变量
int **pp = &p; //**pp 对称int,可以当作int处理
*pp = &b; // *pp int *是指针
*(*pp) = ;
printf("%d,%d\n", a,b); getchar();
}

 #include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
char a = 'A';
char b = 'B';
char c = 'C';
char d = 'D'; void main(){
char *p = &a;
printf("&p=%x,&a=%x,&b=%x,&c=%x,&d=%x", &p, &a, &b, &c, &d);
while ()
{
printf("我的游戏级别是%c\n",*p);
_sleep();//跨平台暂停函数
//Sleep(2000);//仅在Windows平台使用
} system("pause");
}
 _declspec(dllexport) void go(){
int **p=(int**)0x4ff820;
*p=(int*)0x2f8002;
}

上面的dll文件不要建.cpp文件,建成.c文件,否则dll进行注射时会失败

指针的类型

 #include<stdio.h>
#include<stdlib.h>
void main()
{
char *p1;
int *p2;
double *p3;
//所有指针在32位系统下,都是4个字节
printf("%d,%d,%d\n", sizeof(p1),sizeof(p2), sizeof(p3));
printf("%d,%d,%d\n", sizeof(*p1),sizeof(*p2), sizeof(*p3)); getchar();
}

不改变原值的情况下排序

 #include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b;
scanf("%d%d",&a,&b);
int *p1=&a,*p2=&b;
printf("a=%d,b=%d\n", *p1, *p2);
//从小到大
(*p1 > *p2)?printf("%d,%d",*p2,*p1):printf("%d,%d",*p1,*p2); system("pause");
}

 #include<stdio.h>
#include<stdlib.h> void change(int a){//单向传递,复制,只能接收不能改变原值
a=;
} void changeA(int *p){//双向赋值,新建了一个变量,复制了地址的值,根据地址改变原值
*p=;
} void main()
{
int a=;
change(a);
printf("%d\n",a);
changeA(&a);
printf("%d",a); system("pause");
}

三、玩玩几种小工具

[c/c++] programming之路(16)、指针的更多相关文章

  1. [c/c++] programming之路(19)、数组指针

    一.指针运算 #include<stdio.h> #include<stdlib.h> void main0(){ ; int *p=&a; printf());//变 ...

  2. [c/c++] programming之路(17)、高级指针

    一.二级指针 二级指针的作用:1.函数改变外部变量指针2.外挂改变一个指针的值 #include<stdio.h> #include<stdlib.h> void main() ...

  3. [c/c++] programming之路(21)、字符串(二)

    一.for /l %i in (1,1,5) do calc 等命令行参数 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #inclu ...

  4. C语言基础(16)-指针

    一.指针的相关概念 1.1 指针变量 指针是一个变量,存放的是一个地址,该地址指向一块内存空间. 例: ; int *p = &a; // 定义一个指针变量p,&符号可以取得一个变量在 ...

  5. [ASP.NET MVC 小牛之路]16 - Model 验证

    上一篇博文 [ASP.NET MVC 小牛之路]15 - Model Binding 中讲了MVC在Model Binding过程中如何根据用户提交HTTP请求数据创建Model对象.在实际的项目中, ...

  6. c++之路起航——指针

    c++一阶指针 定义 存储类型名 数据类型 * 指针变量名: Eg:int *a://定义了一个指向整型的指针 a: 指针使用方法 int a,*b; b=&a;//表明将a的地址赋值给b: ...

  7. oc学习之路----多级指针的使用和内存分析

    ---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 ...

  8. [c/c++] programming之路(29)、阶段答疑

    一.指针不等于地址 指针不仅有地址,还有类型,是一个存储了地址的变量,可以改变指向:而地址是一个常量 #include<stdio.h> #include<stdlib.h> ...

  9. [c/c++] programming之路(28)、结构体存储和内存对齐+枚举类型+typedef+深拷贝和浅拷贝

    一.结构体存储 #include<stdio.h> #include<stdlib.h> struct info{ char c; //1 2 4 8 double num; ...

随机推荐

  1. MapReduce Map数 reduce数设置

    JobConf.setNumMapTasks(n)是有意义的,结合block size会具体影响到map任务的个数,详见FileInputFormat.getSplits源码.假设没有设置mapred ...

  2. Power BI数据网关

      前言 你的组织中的用户可以访问本地数据(他们已经具有该数据的访问授权),但在这些用户可以连接到你的本地数据源之前,需要安装和配置本地数据网关. 该网关便于云中的用户与你的本地数据源相互进行快速安全 ...

  3. 《Linux.Shell编程从入门到精通》读书笔记

    第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准 ...

  4. 下载JDK开发工具包

    实例说明 开发java程序必须有Java开发环境,即jdk开发工具包,这个工具包包含了编译.运行.调试等关键的命令.运行Eclipse.NetBeans等开发工具也需要有jdk或jre的支持. 关键技 ...

  5. windows MYSQL 安装及修改root密码

    官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E ...

  6. day13 十三、迭代器、生成器、枚举对象

    def my_generator(): print(1111) yield '结果1' print(2222) yield '结果2' print(3333) yield '结果3' print(44 ...

  7. Gym 101194C / UVALive 7899 - Mr. Panda and Strips - [set][2016 EC-Final Problem C]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...

  8. linux终端提示符显示bash-4.2#

    原因是root在/root下面的几个配置文件丢失,丢失文件如下: 1..bash_profile 2..bashrc 以上这些文件是每个用户都必备的文件. 使用以下命令从主默认文件重新拷贝一份配置信息 ...

  9. Kali2安装完成后的设置

    1.安装中文输入法 vim /etc/apt/sources.list 全部删除,改为国内源 #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling ...

  10. 20190422 SQL SERVER 服务

    -- 数据库服务-- SQL Server(MSSQLSERVER)是必须要开启的,这个是数据库引擎服务,就像汽车的发动机一样-- SQL Server代理(MSSQLSERVER)是代理服务,比如你 ...