一维数组的定义与引用(初学者)
数组:具有相同类型的数据组成的序列,且该序列是有序集合。
数组中的每一个数据称为数据元素(下标变量)。
数组元素由其所在的位置序号(数据元素的下标)来区分。
数组名与下标的意义:可以用统一的方式来处理数组中的所有元素,从而方便的实现处理一批具有相同性质数据的问题。
注意:数组元素的有序不是指元素大小顺序。
1、一维数组的定义
在C语言中使用数组必须先进行定义。
一维数组的定义方式为:类型说明符 数组名[常量表达];
例:int a[10];
它表示定义了一个整型数组,数组名为a,此数组有十个元素,10个元素都是整型变量。
注意:(1)类型说明符是任意一种基本数据类型或构造数据类型。对于同一个数组,其所有元素的数据类型都是相同的。
(2)数组名是用户定义的数组标识符,书写规则应符合标识符的书写规定。
(3)方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
(4)允许在同一个数据说明中,说明多个数组和多个变量。
例:int a,b,c,d,k1[10],k2[2];
(5)a[7]表示a数组有7个元素,注意下标是从0开始的,这7个元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6]。不存在数组元素a[7]。
(6)C语言不允许对数组的大小做动态定义,即数组的大小不依赖于程序运行过程中变量的值。
例:int n;
scanf("%d",&n); /*在程序中临时输入数组的大小*/
int a[n];
为非法。
常见错误:(1)float a[0];/*数组大小为0没有意义*/
(2)int b(2)(3);/*不能使用圆括号*/
(3)int k,a[k];/*不能用变量说明数组大小*/
重点补充:一维数组在内存中的存放:从低地址向高地址储存。
2、一维数组元素的引用
数组元素是组成数组的基本单元。数组元素也是一种变量,其表示方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。
数组元素的一般形式为:(引用时数组的一般形式)
数组名[下标]
下标可以是整型常量或整形表达式。
例:a[0]=a[5]+a[7]-a[2*3]
a[i+j]
a[i++]
都是合法的数组元素。
注意:(1)数组元素通常也称为下标变量。必须先定义数组才能使用下标变量。在C语言中只能逐个的使用下标变量,而不能一次引用整个数组。
例:输出有十个元素的数组必须使用循环语句逐个输出各下标变量。
#include<stdio.h> void main() { int i,a[10]; for(i=0;i<10;i++) { printf("%d\n",a[i]); } }
而不能用一个语句输出整个数组。
例:printf("%d",a);为非法
(2)定义数组时用到的“数组名[表达式常量]”和引用数组元素时用到的“数组名[下标]”是有区别的。
例:
int a[10];/*定义数组长度为10*/ t=a[6]/*引用a数组中序号为6的元素,此时6不代表数组长度*/
例:
#include<stdio.h> void main() { int a[10],i; for(i=0;i<10;i++) { a[i]=i; } for(i=9;i>=0;i--) { printf("%d",a[i]); } }