- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)