资源描述:
《维和二维数组的定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章数组一维和二维数组的定义数组元素引用字符数组和字符串数组应用的基本算法7.1.1一维数组的定义数组的维数是指表示数组使用的下标个数,如果数组中每个元素只带有一个下标,称这样的数组为一维数组。定义形式为:类型说明符数组名[常量表达式];类型说明符指出数组元素的数据类型,数组名是标识符,元素个数使用方括号和常量表达式。【讨论】C语言数组大小的规定。【讨论】如何理解数组名。7.1一维数组7.1.2一维数组的引用C语言中,一个数组不能整体应用,数组名是一个地址常量,不能对其赋值,只能使用数组中的元
2、素。方法:数组名[下标]【讨论】C语言使用下标的规定。7.1一维数组7.1.3一维数组存储C系统定义数组时,根据定义语句中的空间需求,分配足够的的存储空间,数组元素顺序存放在这片存储单元中。下标为0的元素排在最前面,每个元素占据的存储空间完全相同。计算数组的空间开销,应该使用sizeof算符,方法有二:(1)存储容量=数组元素个数*sizeof(数组元素类型名)(2)存储容量=sizeof(数组名)7.1一维数组7.1.4一维数组初始化一维数组定义时可以用花括号对全部或前面一部分数组元素赋初值,叫初始化
3、。通过初始化也可以定义一维数组。数组也是变量,在作用域和存在期方面与简单变量的规定相同,全局数组在程序开始执行前建立,在静态存储区存储,定义全局数组时,可以进行初始化,如果没有,系统自动将全局数组的值初始化为0。局部数组存储在动态存储区中,建立时如果没有进行初始化,其值是不确定的。7.1一维数组7.1.4一维数组初始化例:解释下面数组定义和初始化的意义:inta[6]={1,2,3,4,5,6};inta[6]={1,2};inta[3]={1,2,3,4};inta[]={1,2,3,4,5,6};【
4、讨论】例题的结果及原因。7.1.5一维数组实例7.1一维数组7.2.1二维数组的定义二维数组:数组中每个元素带有两个下标。定义形式为:类型说明符数组名[常量表达式1][常量表达式2];逻辑上,可把二维数组看成是一个矩阵,常量表达式1表示矩阵有几行,常量表达式2表示矩阵的列数。可以把二维数组看作是一种特殊的一维数组,它的元素又是一维数组。即二维数组是数组的数组。【讨论】inta[3][4];的矩阵理解和数组之数组理解。【讨论】多维数组的理解问题。7.2二维和多维数组7.2.2二维数组的引用引用二维数组元素
5、时必须带有两个下标,形式如下:数组名[下标1][下标2]7.2.3二维数组存储二维数组在内存中占据一系列连续的存储单元,数组元素按行顺序存放,先放行下标是0的元素,再放行下标是1的元素,...数组inta[3][4]的存储示意a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]7.2二维和多维数组7.2.4二维数组初始化二维数组定义时也可以用花括号对全部或前面一部分数组元素赋初始化。通过初
6、始化也可以定义二维数组。例:解释下面数组定义和初始化的意义:inta[2][3]={1,2,3,4,5,6};inta[2][3]={1,2};inta[2][3]={{1,2,3},{4,5,6}};inta[3][4]={{1,2},{3},{4,5},{6}};inta[3][4]={{1,2},{3},};inta[2][3]={1,2,3,4,5,6,7,8};inta[][3]={{1,2,3},{4,5},{6}};inta[][3]={1,2,3,4,5,6,7};7.2.5二维数组实例
7、7.2二维和多维数组7.3.1字符数组字符数组是元素数据类型是字符类型的一维数组。字符数组引用、存储、初始化的方法都与一维数组相同,只是要注意字符数组的元素是字符,有特殊的字面表示格式。字符数组初始化的方法也和一维数组相同。例:chars[5]={‘1’,’2’,’3’,’4’,’5’};chars[5]={‘1’,’2’};chars[]={‘1’,’2’,’3’,’4’,’5’};初始化时没有赋值的元素值为空是编码为0的字符,叫空字符,用’ ’表示。它即不是空格字符(32),也不是0字符(48)。
8、7.3字符数组和字符串7.3.2字符串C语言中用双引号”括起来的任意字符序列,就是字符串。C语言中,顺序书写的两个字符串中间仅由空格、换行符或制表符分隔,编译时,自动将这些字符串连接成一个长的字符串。字符串里不能直接出现双引号”(被认为是结束符),需用换意序列“””表示双引号字符”对程序中的字符串字面量,系统用字符数组方式保存,连续、顺序存放每一个字符,最后加一个空字符“ ”做结束标志。结束标志“ ”是字符数组与字符串的区别。【讨论】