数组01 - 零基础入门学习C语言23

第六章:数组01

 

让编程改变世界

Change the world by program


 

数组的概念

  有如下几组数据,它们分别该如何存储呢?

学生的学习成绩 银行的账单 一行文字

  这些个数据的特点是:

1、具有相同的数据类型 2、使用过程中需要保留原始数据

  C语言为这些数据,提供了一种构造数据类型:数组。  

我们来看一下书本的定义:

在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。

这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。

一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。

因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

 

数组:具有相同类型的数据组成的序列,是有序集合。

[caption id="attachment_92" align="aligncenter" width="309"] 数组[/caption] 数组元素由其所在的位置序号(称数组元素的下标)来区分。 用数组名与下标可以用统一的方式来处理数组中的所有元素,从而方便的实现处理一批具有相同性质数据的问题。 注意:数组元素有序不是指元素大小顺序  

一维数组的定义和引用

  一维数组的定义方式: 在C语言中使用数组必须先进行定义。 一维数组的定义方式为:类型说明符 数组名 [常量表达式]; 例如:int a[10]; 它表示定义了一个整形数组,数组名为a,此数组有10个元素,10个元素都是整型变量!  

需要注意的是:

一、类型说明符是任一种基本数据类型或构造数据类型。对于同一个数组,其所有元素的数据类型都是相同的。 二、数组名是用户定义的数组标识符。书写规则应符合标识符的书写规定。 三、方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 四、允许在同一个类型说明中,说明多个数组和多个变量。 例如:int a,b,c,d,k1[10],k2[20]; 五、a[10],表示a数组有10个元素,注意下标是从0开始的,这10个元素是,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。请持别注意,按上面的定义,不存在数组元素a[10]。 六、C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 例如,下面这样定义数组是不行的:

int n;

scanf(“%d″,&n); /*在程序中临时输入数组的大小 */

int a[n];

一些常见的错误:

① float a[0]; /* 数组大小为0没有意义 */

② int b(2)(3); /* 不能使用圆括号 */

③ int k, a[k]; /* 不能用变量说明数组大小*/

以下是正确的演示:

int a[10];                  //说明整型数组a,有10个元素。

float b[10],c[20];  //说明实型数组b,有10个元素,实型数组c有20个元素。

char ch[20];            //说明字符数组ch,有20个元素。

 

重点补充:一维数组在内存中的存放形式

一维数组: int mark[100]; [caption id="attachment_93" align="aligncenter" width="150"] 一维数组在内存中的存放方式[/caption]  

一维数组元素的引用

  数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。   数组元素的一般形式为:数组名[下标] 例如:

a[0]= a[5] + a[7] - a[2*3]

a[i+j]

a[i++]

都是合法的数组元素。  

一些个注意的事项:

数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。 例如输出有10个元素的数组必须使用循环语句逐个输出各下标变量: [codesyntax lang="c"]
for(i=0; i<10; i++)
{
    printf("%d",a[i]);
}
[/codesyntax] 而不能用一个语句输出整个数组。 下面的写法是错误的:printf("%d", a);   定义数组时用到的“数组名[常量表达式]” 和引用数组元素时用到的“数组名[下标]” 是有区别的。 例如:

int a[10]; /* 定义数组长度为10 */

t = a[6]; /* 引用a数组中序号为6的元素。此时6不代表数组长度 */

  [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LISTMENIMNXP']视频下载[/Downlink]
posted @ 2010-10-26 14:29  我就爱小甲鱼  阅读(136)  评论(0编辑  收藏  举报