04复杂数据及运算--指针.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04复杂数据及运算--指针

第四章 复杂数据及运算;数组复习—问题;4.2指针;一点忠告!;本节的学习;4.2.1 数据在内存中的地址;;如何获得变量的地址;例4-5:观察变量在内存中的地址;运行结果: 0013FF7C:1 0013FF74:2 0013FF68: 0013FF68:0 ;对例4_5的分析:如何获得变量的地址;1;一旦定义了一个数组,数组名存放的就是数组的起始地址,也就是一个地址类型的数据。 在生存期内,整个数组在内存中的所占用的存储空间是不变的,地址是不变的,所以数组名是一个地址类型的常量。;对一维数组的再探讨;例4-6:观察一维数组在内存中的存储;运行结果: 0 1 2 3 4 0012FF6C 0012FF70 0012FF74 0012FF78 0012FF7C array[5]: 0012FF80 ;对例4_6的分析;例4-7:观察多维数组在内存中的存储;运行结果: 0 0012FF68 1 0012FF6C 1 0012FF70 2 0012FF74 2 0012FF78 3 0012FF7C ;对例4_7的分析;二维数组在内存中的存储;4.2.1 结束语;问题1:为什么要使用地址?;问题2:如何使用地址?;4.2.2 指针及指针运算;;;1. 指针变量与其所指向的变量之间的关系;含义: 取变量的地址 单目运算符 结合性:自右向左;;例 main( ) { int i=10; int *p; *p=i; cout*p; };空指针: 定义:指针变量值为零 例如: int * p=0; ;例4-8:定义指针并通过指针访问变量;运行结果: the integer is: 23 the number that is pointed to is: 23 the address of the number is: 0012FF7C ;对例4_8的分析;指针初始化;习题;将地址值赋给指针变量;例 i=3; -----直接访问;9.对指针变量的操作;指针变量的算术运算;;注意:;关系运算 指向相同类型数据的指针之间可以进行各种关系运算。 指向不同数据类型的指针,以及指针与一般整数变量之间的关系运算是无意义的。 指针可以和零之间进行等于或不等于的关系运算。例如:p==0或p!=0,判断是否为空指针 赋值运算 向指针变量赋的值必须是地址常量或变量,不能是普通整数。但可以赋值为整数0,表示空指针。;例4-9:通过指针访问有序的批量数据;运行结果: the sequence is: 2 4 13 7 9 21 the forth number of the sequence is: 7 ;对例4_9的分析;指针的算术运算;习题;指向数组元素的指针;为什么用指针处理数组;设有一个int型数组a,有10个元素。用三种方法输出各元素: 使用数组名和下标 使用数组名和指针运算 使用指针变量;int main() { int a[10]; int i; for(i=0; i10; i++) cina[i]; coutendl; for(i=0; i10; i++) couta[i]; };int main() { int a[10]; int i; for(i=0; i10; i++) cina[i]; coutendl; for(i=0; i10; i++) cout*(a+i); };使用指针变量;习题;;指针复习---问题;指针复习---问题;指针复习---问题;指针复习;含义: 取变量的地址 单目运算符 结合性:自右向左;指针习题1;指针习题2;动态分配与释放内存空间;4.2.2 指针及指针运算(续);例4-10:实现一个在运行时确定大小的一维数组;运行结果: please ensure the number of the sequence: 5 the sequence is: 0 1 2 3 4 ;对例4_10的思考;例4-11:动态创建多维数组;运行结果: the matrix is: 0 0 0 0 1 2 ;;1)复习 2)预习 4.3 3)课程网站第三单元编程题 编程题14: 动态空间管理 4)书本P71 选择题:2 3

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档