数组01 – 零基础入门学习C语言23
第六章:数组01
让编程改变世界
Change the world by program
数组的概念
有如下几组数据,它们分别该如何存储呢?
学生的学习成绩
银行的账单
一行文字
这些个数据的特点是:
- 具有相同的数据类型
- 使用过程中需要保留原始数据
C语言为这些数据,提供了一种构造数据类型:数组。
我们来看一下书本的定义:
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。
一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
数组:具有相同类型的数据组成的序列,是有序集合。
数组
数组元素由其所在的位置序号(称数组元素的下标)来区分。
用数组名与下标可以用统一的方式来处理数组中的所有元素,从而方便的实现处理一批具有相同性质数据的问题。
注意:数组元素有序不是指元素大小顺序
一维数组的定义和引用
一维数组的定义方式:
在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];
一维数组在内存中的存放方式
一维数组元素的引用
数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。
数组元素的一般形式为:数组名[下标]
例如:
a[0]= a[5] + a[7] – a[2*3]
a[i+j]
a[i++]
都是合法的数组元素。
一些个注意的事项:
数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。
例如输出有10个元素的数组必须使用循环语句逐个输出各下标变量:
for(i=0; i而不能用一个语句输出整个数组。
下面的写法是错误的:printf(“%d”, a);
定义数组时用到的“数组名[常量表达式]” 和引用数组元素时用到的“数组名[下标]” 是有区别的。
例如:
int a[10]; / 定义数组长度为10 /
t = a[6]; / 引用a数组中序号为6的元素。此时6不代表数组长度 /
视频下载
技术, IT技术, 视频教程, C语言
风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!