一维数组的定义、引用和初始化:
数组概述:
数组是由基本数据类型按一定的规则组成的。
数组由一系列元素构成,这些元素均属于同一数据类型。
数组是有序数据的集合,个元素在内存中连续存放。
根据数组的组成类型,可分为:一维数组,二维数组和多维数组。
根据元素类型的不同,可分为:字符型数组,实型数组,字符型数组;
c语言中吧字符串定义为字符型数组,即数组元素为字符型的数组;
例如:
int a[20];
◆定义形式:
◆类型说明符 数组名[数组长度]
说明:
⊙数组名是标识符,符合标识符命名规则,以及作用域和存储类别规则。
⊙类型说明符是数组元素的数据类型
⊙数组长度表示数组中含有元素的个数。
数组长度可以是常量,常量构成的式子即常量表达式;
数组和必须先定义后引用:
int a[10];
数组元素引用形式:
数组名[下标]
如:a[0],a[1],a[2],a[i],a[i+1].......
注意:数组定义和数组元素引用的形式相似,但意义不同。
定义时[ ]内的是数组长度;引用时[ ]的是具体的那个数
引用:
int i, a3]:
a[0]= 10;
a[1]=20;
a[2]=30;
for(i=0;i<=2;i++);
printf(%d",a[i]);
原则上说,如果数组的长度为n则下标的范围应该界于0和n-1。但C编译系统没有对下标进行越界检查。如果用错可能会导致意想不到的错误!!
C语言规定不能一次引用整个数组;
允许使用a订]这样的形式访问每个元素;
可以像使用普通变量一样使用;
#include<stdio.h>
int main()
{
int i, a[10];
for(i=0;i<10;i++)
a[i]=i;
for(i=9;i>=0;i--)
printf("%d", a[i]);
printf("\n");
return 0;
}
数组可以像普通数一样运用例如:scanf("%d",&a[i]);
一维数组的初始化:
定义数组时可对数组元素斌初值
如:inta[3]={0,1,2}
如果数组没有初始化,系统会用默认值对它初始化。即外部数组或静态数组
赋0值,自动数组赋随机值
初始化数组时,初始值的个数可以比数组元素的个数少,未提供初始值的元
素被置为0。如:
inta[10]=(1,2,3,4,5}.......即数组i前五个分别为1,2,3,4,5;后五个都为零;
intb[10]={0}....................即数组i全部数据都为零;
如果对全部数组元素赋初始值时,可以不指定数组长度。
例如:
inta[5]={1,2,3,4,5y
等价于
int a[] =(1,2,3,4,5)
但不能省略[]
对数组进行初始化时,不允许初始化的元素个数比定义的数组长度大;
数组不能整体赋值如
应该: