1、主讲教师:李艺C语言程序设计第七章 数组1主要内容主要内容7.1 一维数组一维数组7.2 字符数组与字符串字符数组与字符串7.3 多维数组多维数组2概述我们已经熟悉了整型、浮点型、字符型数据。 本章要介绍构造类数据 - 数组。构造类数据是由上述基本类型数据按一定规则排序构成的数据集合体。是 C语言的重要内容。构造类型数据有 :n 数组类型;n 结构体类型;n 共用体类型。37.1 一维数组p 一维数组的定义格式数据类型 数组名 元素个数 ;p 说明n 数据类型:指数组元素的类型。有 int型、 float型、 char型。n 数组名:代表一个数据集合的数组的名字。n 下标: 用方括号即 “ ”
2、届定。不能用圆括号和花括号,下标值从 0开始计数。n 元素个数:数组包含数据的个数。元素个数必须是大于或等于 1的整数。n 数组必须先定义,后使用。47.1 一维数组p 例 1:例 : int data4; 该数组有 4个元素 ,它们是: n data0 n data1n data2n data3我们然后可以象普通变量一样使用数组:data1 =10;data2 =12;data3 = data1 + data2 * 2;printf (“%d”; data3);57.1 一维数组p 例 2:请看下列程序段有什么错误:int x;int weightx; / 元素个数不能用变量来定义。应该是常
3、量char name(50); / 下标符不能用圆括号int num-5; / 元素个数不能定义成负数。float deptnamex+15; /定义数组不能用变量表达式。只能用常量表达式int array10.5; /元素个数不能用小数定义67.1 一维数组p 例 3:#define BUFSIZE 512 / 宏定义 ,用指定的标识符来代替后面的数字#define STACKSIZE 24 / 宏定义int inbufferBUFSIZE; /等效为 inbuffer512; 在编译时进行替换char outbufferSTACSIZE; /等效为 outbuffer24; 在编译时进行替
4、换float s15+5,x10;77.1 一维数组p 数组元素的存储和使用数组元素的存储和使用n 每个数组元素都占用内存中的一个存储单元,每个元素都是一个变量,可以像以前讲过的普通变量一样使用,只不过数组元素是通过数组名和方括号 “ ”里的下标来确定的。n 系统为数组元素在内存中分配 连续的 存储单元。p 例: int a5;n 数组名 a。n 数组元素的数据类型为 int整型数据。n 数组元素的下标值从 0开始。n 数组元素的个数为 15个,它们是 :a0、 a1、 a2 . .a13、 a14n 数组名 a是数组存储区的首地址,即存放数组第一个元素的地址。n ai=2; a2*i-1=1; /下标为变量表达式。a5=1; /对数组 a的第六个元素 a5赋值 1p=a5; /将数组 a的第六个元素 a5的值赋给变量 pa10-10=1; / 将 1赋给数组 a的第一个元素 a0。a=11; / 不能对数组整体进行读写,即不能对数组名读写printf(“a=%d”,a); / 同上a10=a0-a1; / 下标超限10