[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; ...
随机推荐
- 【CF480D】Parcels DP
[CF480D]Parcels 题意:有一个栈,有n个物品,每个物品可以选或不选.如果选了第i个物品,则获得$v_i$的收益,且第i个物品必须在$in_i$时刻入栈,$out_i$时刻出栈.每个物品还 ...
- 如何判断java对象是否为String数组
if (entry.getValue() instanceof String[]) {// ko .................... }
- webStorm的使用
最近要写点前端的东西,ideaCE版对js支持不好,写着很蛋疼,于是乎尝试了网上很流行的前端webstorm,但是在加载库文件时总是出错. 源文件:<script src="/jque ...
- oracle 28000错误解决方法
ORA-28000: the account is locked-的解决办法 ORA-28000: the account is locked 第一步:使用PL/SQL,登录名为system,数据库名 ...
- 为 git设置代理
普通设置 git config --global http.proxy 'socks5://127.0.0.1:1080'git config --global https.proxy 'socks5 ...
- 补充:javascript
写法分类:1.行内(内联)写在标签里面,以属性的形式表现,属性名是事件属性名例如:<button onClick="js代码"></button>2.内嵌写 ...
- JVM—内存溢出、OutOfMemoryError、StackOverflowError
学习jvm时看到几篇非常好的系列文章,转载了: <深入理解Java虚拟机>学习小记一之自动内存管理机制(一) http://my.oschina.net/linuxfelix/blog/1 ...
- InnoDB中锁的算法(1)
Ⅰ.InnoDB锁算法的介绍 首先明确一点,锁锁住的是什么?锁锁住的是索引 Record Lock 单个行记录上的锁 Gap Lock 锁定一个范围,但不包含记录本身 Next-key Lock Ga ...
- 手写RPC框架
https://www.bilibili.com/video/av23508597?from=search&seid=6870947260580707913 https://github.co ...
- java框架之MyBatis(1)-入门&动态代理开发
前言 学MyBatis的原因 1.目前最主流的持久层框架为 Hibernate 与 MyBatis,而且国内公司目前使用 Mybatis 的要比 Hibernate 要多. 2.Hibernate 学 ...