ch07 间接访问—指针.pptx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"ch07 间接访问—指针" 本章将介绍C++语言的一个重要的特性:指针。为了成为一个优秀的C++语言程序员,你必须掌握指针并熟练地使用它们。 指针的概念 ---------------- 指针就是把地址作为数据处理。指针变量:存储地址的变量。变量的指针:当一个变量存储另一个变量的地址时,那我们说它就是那个变量的指针。使用指针的目的:提供间接访问。 定义指针变量 ----------------- 定义指针变量要告诉编译器该变量中存放的是一个地址。指针变量的主要用途是提供间接访问,因此也需要知道指针指向的单元的数据类型。指针变量的定义:类型标识符 *指针变量; 如:int *intp; double *doublep; int *p, x, *q; 指针变量的操作 ----------------- ### 如何让指针指向某一变量? 因为我们不知道系统分配给变量的真正地址是什么。用地址运算符 “&” 解决。如表达式 “&x” 返回的是变量 x 的地址。如:intp = &x; ### 如何通过指针变量处理和改变它所指向的单元的值? 用引用运算符 “*” 解决。如 *intp 表示的是 intp 指向的这个单元的内容。如:*intp = 5 等价于 x = 5 指针的使用 ------------ ### 指针变量可以指向不同的变量。 如上例中intp指向x,我们可以通过对intp的重新赋值改变指针的指向。如果想让intp指向y,只要执行intp=&y就可以了。这时,intp与x无任何关系。 ### 同类的指针变量之间可相互赋值,表示两个指针指向同一内存空间。 ### 空指针 指针没有指向任何空间。空指针用常量NULL表示,NULL的值一般赋为0。不能引用空指针指向的值。 指针实例 ------------ 如有定义:int x, y; int *p1,*p2;执行语句:x=23;y=234;执行语句:p1=&x;p2=&y;执行语句:*p1=34;p2=p1; 比较执行 p1=p2和 *p1= *p2后的不同结果。 指针的初始化 ---------------- 指针在使用前必须初始化。和别的变量一样,定义指针不初始化是一个比较普遍的错误。没有初始化的指针可能指向任意地址,对这些指针作操作可能会导致程序错误。NULL是一个特殊指针值,称为空指针。它的值为0。它可被用来初始化一个指针,表示不指向任何地址。 指针运算与数组 ------------------- ### 指向数组元素的指针 数组元素是一个独立的变量,因此可以有指针指向它。如:p = &a[1], p = &a[i] ### 数组元素的地址是通过数组首地址计算的。 如数组的首地址是 1000,则第i 个元素的地址是1000 + i * 每个数组元素所占的空间长度 指针与数组 ------------- 在C++中,指针和数组关系密切,几乎可以互换使用。数组名可以看成是常量指针,对一维数组来说,数组名是数组的起始地址,也就是第一个元素的地址。
剩余110页未读,继续阅读
- 粉丝: 930
- 资源: 4169
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 控制学智能控制-模糊PID控制器与C语言实现
- G2绘制 雷达图及保姆级注解
- DirectX 1-7 包装器项目,用于使旧游戏在新硬件上运行.zip
- DirectX + MFC 对话框基础 + VS2015.zip
- DirectMusic 的不完整重新实现,这是 Microsoft 为作为 Direct3D 和 DirectX 一部分提供的游戏提供的自适应音轨 API.zip
- Python基于SEIR传染病模型和MCMC马尔可夫链蒙特卡洛算法的疫苗接种场景模拟仿真源码
- DirectFB 和 DirectX 上的 GUI 库.zip
- DirectComposition 与 DirectX 12 互操作性的演示.zip
- proteus安装及使用9PDF
- 现场总线协议(modbus、canopen和profibus dp)源码驱动