[c/c++] programming之路(16)、指针
一、调戏百度云管家
#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)、指针的更多相关文章
- [c/c++] programming之路(19)、数组指针
一.指针运算 #include<stdio.h> #include<stdlib.h> void main0(){ ; int *p=&a; printf());//变 ...
- [c/c++] programming之路(17)、高级指针
一.二级指针 二级指针的作用:1.函数改变外部变量指针2.外挂改变一个指针的值 #include<stdio.h> #include<stdlib.h> void main() ...
- [c/c++] programming之路(21)、字符串(二)
一.for /l %i in (1,1,5) do calc 等命令行参数 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #inclu ...
- C语言基础(16)-指针
一.指针的相关概念 1.1 指针变量 指针是一个变量,存放的是一个地址,该地址指向一块内存空间. 例: ; int *p = &a; // 定义一个指针变量p,&符号可以取得一个变量在 ...
- [ASP.NET MVC 小牛之路]16 - Model 验证
上一篇博文 [ASP.NET MVC 小牛之路]15 - Model Binding 中讲了MVC在Model Binding过程中如何根据用户提交HTTP请求数据创建Model对象.在实际的项目中, ...
- c++之路起航——指针
c++一阶指针 定义 存储类型名 数据类型 * 指针变量名: Eg:int *a://定义了一个指向整型的指针 a: 指针使用方法 int a,*b; b=&a;//表明将a的地址赋值给b: ...
- oc学习之路----多级指针的使用和内存分析
---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 ...
- [c/c++] programming之路(29)、阶段答疑
一.指针不等于地址 指针不仅有地址,还有类型,是一个存储了地址的变量,可以改变指向:而地址是一个常量 #include<stdio.h> #include<stdlib.h> ...
- [c/c++] programming之路(28)、结构体存储和内存对齐+枚举类型+typedef+深拷贝和浅拷贝
一.结构体存储 #include<stdio.h> #include<stdlib.h> struct info{ char c; //1 2 4 8 double num; ...
随机推荐
- linux如何添加telnet服务
一.安装telnet 1.检测telnet-server的rpm包是否安装 [root@localhost ~]# rpm -qa telnet-server 若无输入内容,则表示没有安装.出于安全考 ...
- Java 中的 List —— 有序序列
List 在 java 中是个有序序列: 一.容量 ArrayList 中有一个容量概念,表示基础数组的大小(无参时默认为 10).在需要的时候(比如 add操作)会自动增加其容量.LinkedLis ...
- yarn集群客户端gateway常用限制
spark默认集群模式,省略上传依赖包过程:spark-default.sh spark.yarn.jars hdfs:///${PATH}/sparkJar/jars/*.jarspark.subm ...
- 算法基础_递归_给定m个A,n个B,一共有多少种排列
问题描述: 给定m个A,n个B,一共有多少种排列 解题源代码: /** * 给定m个A,n个B,问一共有多少种排列 * @author Administrator * */ public class ...
- Python idle运行代码出现'ascii' codec can't encode characters in position 0-2
编码问题,采用一种方法: Python代码 ,开头加: import sys reload(sys) sys.setdefaultencoding('utf8') 在idle中运行后没错误,但是不显示 ...
- OA流程分析
OA流程分析: 1. 流程定义:可视化可拖拽的流程环节设置,流程定义完成后保存在数据表中,字段有流程ID,名称,流程流转环节. 2. 画业务表单,新建业务数据表. 3. 表单数据填好后,启动流程:
- [学习] 从 函数式编程 到 lambda演算 到 函数的本质 到 组合子逻辑
函数式编程 阮一峰 <函数式编程初探>,阮一峰是<黑客与画家>的译者. wiki <函数编程语言> 一本好书,<计算机程序的构造与解释>有讲到schem ...
- FastJson一些常见方法(API):处理JSON变得好简单
fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍 JSON帮助类 这个可以做一个实例研究代码,也可以作为一个工具类 ...
- jQuery 学习笔记(5)(事件绑定与解绑、事件冒泡与事件默认行为、事件的自动触发、自定义事件、事件命名空间、事件委托、移入移出事件)
1.事件绑定: .eventName(fn) //编码效率略高,但部分事件jQuery没有实现 .on(eventName, fn) //编码效率略低,所有事件均可以添加 注意点:可以同时添加多个相同 ...
- Java连接MySQL报出警告 WARN: Establishing SSL connection without server's identity verification is not recommended.
很多人使用JDBC连接MySQL时报出警告: WARN: Establishing SSL connection without server's identity verification is n ...