C语言打洞访问基本原理
来源:互联网 发布:闲鱼申请淘宝介入几天 编辑:程序博客网 时间:2024/05/18 02:46
在学习C语言的过程中,指针是非常重要的一个知识。本文档分析的就是指针打洞的一个小实例。
实验目的:连续定义a,b,c三个int型变量,如何用变量b直接访问其他两个变量,并输出。
实验环境:Windows系统下的dev C编译器。
解析:连续定义三个变量,在C语言的学习中,我们知道,临时定义变量是存储在栈里的,而连续定义的变量之间的地址也是连续的。三个变量中,我们只要知道其中一个变量,就可以通过地址之间的空间打洞去访问其他的变量(这里的&是取地址符号)。
实例代码:
#include<stdio.h>
int main()
{
int a=1, b=2, c=3;
printf("a, b, c 的地址分别是:%d, %d, %d\n", &a, &b, &c);
printf("a = %d\n", *(&b+1));
printf("c = %d\n", *(&b-1));
return 0;
}
运行结果:
1 0
- C语言打洞访问基本原理
- C语言实现UDP打洞
- C语言实现UDP打洞
- C语言实现UDP打洞
- 内网穿透 TCP打洞 【c语言实现】
- 外网访问打洞
- DTW的基本原理及其C语言实现
- c语言访问excel
- NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等
- NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等
- 学习C语言需要了解的计算机的基本原理知识
- java开发C语言编译器: JVM的基本原理
- 打洞,,
- C语言递归访问文件
- C语言字符指针访问
- 使用c语言访问mysql
- C语言的越界访问
- 访问PostgreSQL:C语言接口
- PorterDuffXfermode无法合成图片
- caffe-recurrent/rnn
- POJ 1264 SCUD Busters (凸包面积+判断点是否在凸包内)
- C++原子操作实现互斥
- RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- C语言打洞访问基本原理
- PL/SQL性能优化技巧
- Android 中如何获取本app的版本号?
- 分块练习 D
- 剑指Offer 35题 第一个只出现一次的字符 Java版
- 水叮当的舞步(迭代搜索+A*搜索)
- 第三十四讲 项目 用循环累加
- 如何設計乘加電路? (SOC) (Verilog) (MegaCore)
- spring组件注解和注入注解