构造型数据类型.doc

构造型数据类型.doc

ID:58685546

大小:245.01 KB

页数:32页

时间:2020-10-12

构造型数据类型.doc_第1页
构造型数据类型.doc_第2页
构造型数据类型.doc_第3页
构造型数据类型.doc_第4页
构造型数据类型.doc_第5页
资源描述:

《构造型数据类型.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章构造型数据类型第4章构造型数据类型4.1要点导读●数组由若干个类型相同的元素组成,每个元素就是一个变量,每个数组都有一个名字,称为数组名。●一维数组是指数组元素只有一个下标的数组。定义一维数组的一般格式如下:  类型名 数组名[整型常量表达式],…;方括号中整型常量表达式的值就是该数组元素的个数。数组的第一个元素的下标(数组下标的下界)是0。数组最后一个元素的下标(数组下标的上界)是数组元素的个数减1。系统将为该数组在内存中分配一块连续的存储单元,以存放每一个组元素。最低的地址对应于第一个数组元素,最高的地址对应最后一个数组元

2、素。●数组定义后,才能使用数组元素,每个数组元素都等同于一个变量,使用数组元素就可以存取相应存储单元内的数据,就像存取变量的值一样。一维数组元素的使用格式如下:数组名[下标表达式]此处,下标表达式可以是整型常量表达式或整型表达式。下标表达式值的下限为0,上限为该数组元素的个数减1。数组两端都可能因为越界而破坏其他存储单元中的数据。●表4.1举例一维数组元素的初始化。表4.1 一维数组元素的初始化举例语句说 明inta[10];a为动态数组,定义动态数组时,若不对元素赋初值,数组元素没有确定的值。staticintb[10];定义静态

3、数组时,若不对元素赋初值,所有元素初值为0。静态存储变量的初始化是在编译阶段完成的,而动态变量的初始化是在运行程序时才完成。inta[5]={1,2,3,4,5};系统将按花括号内数值的排列顺序,从a[0]元素开始依次给a数组中的元素赋初值,即a[0]赋初值1,a[1]赋初值2……a[5]赋初值5。intb[5]={1,2};如果初值的数据个数比数组元素少,自动给后面的元素补赋初值0。b[0]赋初值1,b[1]赋初值2,b[2]、b[3]、b[4]均赋初值0。inta[]={1,2,3,4,5};在初始化时不指定数组元素的个数,数组

4、元素的个数等于所赋初值数据的个数。花括号中列出5个初始化数据,它隐含地定义了a数组共有5个元素。-77-第4章构造型数据类型●C语言可以把字符串存储在一个字符数组中,字符数组的每个元素存放一个字符:  char数组名[整型常量表达式],...;●有两种方法对字符数组进行初始化:1.字符数组逐个元素赋初值,例如:chars[]={'H','e','l','l','o','!',''};。2.在赋初值时直接赋字符串常量,例如:chars[]={"Hello!"};。上语句也可以省略花括号,简写成:chars[]="Hello!";。

5、字符串常量"Hello!"包括字符串结束标志'',因此数组s占用7个字节的存储单元。●对字符数组元素赋值,有两种方法:1.给字符数组元素逐个赋字符值,例如:s[0]='H',s[1]='e',等等。2.用库函数strcpy给字符数组赋字符串,例如:strcpy(s,"Hello!");。●二维数组的每个元素带有两个下标,二维数组的定义形式如下:类型名数组名[整型常量表达式1][整型常量表达式2];系统为二维数组在内存中分配一块连续的存储单元,二维数组排列的顺序是“按行优先存放”的,即先存放第0行的元素,再存放第1行的元素,等等。

6、  ●定义了二维数组后,才能在程序中使用其数组元素,二维数组元素的使用格式如下:数组名[下标表达式1][下标表达式2]此处下标表达式可以是整型常量表达式或整型表达式。●表4.2举例二维数组元素的初始化。表4.2 二维数组元素的初始化举例语句说 明inta[2][3]={{1,2,3},{4,5,6}};用分行赋值方式,对全部元素赋初值。数组的每一行元素初始化赋值用花括号括起来,各元素之间用逗号“,”分开,最外层再加一对花括号。inta[2][3]={1,2,3,4,5,6};按顺序赋值方式,对全部元素赋初值。二维数组存储是连续的,因

7、此可以用一维数组赋初值的方法来给二维数组赋初值。inta[][3]={{1,2,3},{4,5,6}};省略第一维的长度(第二维长度不能省略),对全部元素赋初值。a数组赋初值的结果与上面相同,系统会根据数据的总个数分配存储空间。inta[4][5]={{1,2},{0,8,9},{},{16}};分行赋值方式,对部分元素赋初值。可以对二维数组每一行的前面几元素赋初值,而对于后面没有赋初值的元素,系统将自动给该行后面的元素赋初值0。inta[][5]={{1,2},{0,8,9},{},{16}};分行赋值方式对部分元素赋初值时,也可

8、以省略第一维的长度。与上一语句等价。inta[3][5]={1,2,3,4,5,6,7,8,9};可以按顺序赋值的方式对二维数组的部分元素赋初值。对于后面没有赋初值的元素,系统也将自动赋初值0。inta[][5]={1,2,3,4,5

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

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

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