第5章数组与指针

第5章数组与指针

ID:44959996

大小:148.00 KB

页数:63页

时间:2019-11-06

第5章数组与指针_第1页
第5章数组与指针_第2页
第5章数组与指针_第3页
第5章数组与指针_第4页
第5章数组与指针_第5页
资源描述:

《第5章数组与指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章数组与指针7/14/20211《面向对象程序设计与VisualC++6.0教程》主要内容:5.1数组5.2指针5.3指针运算5.4指针与数组5.5指针与函数5.6指针与字符串5.7对象指针5.8动态内存分配7/14/20212《面向对象程序设计与VisualC++6.0教程》(1)一维数组的定义与使用数据类型数组名[常量表达式];一维数组的定义形式如下:5.1数组7/14/20213《面向对象程序设计与VisualC++6.0教程》数据类型表示数组元素值的类型,可以是除void类型以外的任意符合C++规定的数据类型。数组名的命名应遵循

2、C++标识符规则。数组名表示数组元素在内存中的起始地址。数组名后必须用方括号,不能用其他括号。数组元素的数量由常量表达式的值决定,这个值必须在编译时确定。数组元素的起始标号为0。定义数组时需注意7/14/20214《面向对象程序设计与VisualC++6.0教程》一维数组及高维数组的元素只能逐个引用,而不能一次性的引用整个数组。引用形式为:数组名[下标]一维数组元素的引用7/14/20215《面向对象程序设计与VisualC++6.0教程》(2)一维数组的初始化●对于简单数据类型的数组,初始化就是给数组元素赋值;●对于复杂类型如对象数组等,

3、由于每个元素都是类的一个对象,因此初始化就是调用该对象的构造函数。7/14/20216《面向对象程序设计与VisualC++6.0教程》初始化举例●数组初始化可以在定义数组的同时进行,例如:inta[5]={1,2,3,4,5};●若全部元素都显式初始化,可以不说明数组元素的个数,例如:inta[]={1,2,3,4,5};●也可只对数组中的部分元素进行初始化,比如:inta[8]={1,2,3,4,5};7/14/20217《面向对象程序设计与VisualC++6.0教程》(3)一维数组的存储方式●无论是一维数组还是多维数组,其数组元素在

4、内存中以顺序和连续方式存储,占据一片连续的存储单元。●数组名是常量,表示数组首元素的内存首地址。●一维数组是数组中最简单的情况。它的存储形式是按下标从小到大的顺序连续存储在内存中。7/14/20218《面向对象程序设计与VisualC++6.0教程》一维数组的存储结构array[0]array[1]┇array[99]array图5-1一维数组的存储结构例如:若定义如下数组intarray[100];7/14/20219《面向对象程序设计与VisualC++6.0教程》数组元素和数组名都可以作为函数的参数进行数据的传递。如果使用数组名作为函

5、数参数,则实参和形参都应该是数组名,且类型应相同。使用数组名作为函数参数,传递的是地址。形参数组和实参数组的首地址相同。如果在被调用函数中对数组元素的值进行改变,主调函数中实参数组的相应元素值也会相应改变。(4)一维数组作为函数参数7/14/202110《面向对象程序设计与VisualC++6.0教程》具有一个下标的数组是一维数组,若数组有2个下标,则表示二维数组。2.二维数组7/14/202111《面向对象程序设计与VisualC++6.0教程》(1)二维数组的定义与使用二维数组的定义形式如下:数据类型数组名[常量表达式1][常量表达式2

6、];7/14/202112《面向对象程序设计与VisualC++6.0教程》二维数组元素的引用二维数组及高维数组的元素也只能逐个引用,而不能一次性的引用整个数组。二维数组元素的引用形式为:数组名[下标][下标]7/14/202113《面向对象程序设计与VisualC++6.0教程》(2)二维数组的初始化与一维数组类似,二维数组也可以在定义数组的同时进行初始化。例如:inta[2][3]={1,2,3,6,7,8};//直接给出常数表inta[2][3]={{1,2,3},{6,7,8}};//按维给出常数表7/14/202114《面向对象程

7、序设计与VisualC++6.0教程》(2)二维数组的初始化采用初始化值表,可以省略二维数组的高维说明,而不能省略低维的说明。例如:inta[][3]={1,2,3,6,7,8};//正确inta[2][]={1,2,3,6,7,8};//错误7/14/202115《面向对象程序设计与VisualC++6.0教程》●二维及高维数组的数组元素在内存中以高维优先的方式顺序连续存储。●对于二维数组,高维优先就是行优先,即按行存储,先存储第一行,然后存储第二行,……●而每一行内的各元素,则与一维数组相同,按列下标(低维下标)从小到大的顺序存储。(3

8、)二维数组的存储方式7/14/202116《面向对象程序设计与VisualC++6.0教程》●二维及高维数组的数组名也可以作为函数参数进行数据传递和数据共享。●使用二维数组名作为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。