数组是相同数据类型的元素的集合。
1.一维数组的定义和初始化:
定义: 数据类型 数组名[元素个数];
例如:int a[10];a为数组名,里面包含10个整型元素,
注意:数组元素使用时,利用数组元素的下标(索引)来进行使用,每个数组元素下标都是从0开始的。
2.一维数组的初始化
int a[10]={1,2,3,4,5,6,7,8,9,10};
可以在定义时,直接进行初始化,花括号里每个元素用逗号隔开;
int a[10];
int i;
for(i=0;i<10;i++)//数组的下标从0开始
{
scanf("%d",&a[i]);
}
也可以用for循环对数组进行初始化。
进行初始化时,例如上述的a[10]只初始化了数组的前几个元素,后面的元素会用0补充。
例如
#include<stdio.h>
int main()
{
int a[10]={1,2,3};
int i;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
可以看到只对前三个元素进行初始化,后面7个元素都用0补充。
3.一维字符数组
数组是相同数据类型元素的集合,我们在对字符数组进行初始化时,花括号内的元素不仅要用逗号隔开,还需要用单引号引起来
char a[10]={'A','B','C','D','E','F','G','H','I','J'};
还可以用函数gets(数组名)来对数组元素进行输入,用函数puts(数组名)来对数组元素进行输出
char a[10];
gets(a);
puts(a);
如果输入的字符个数小于定义的字符数组的大小,系统会自动把未初始化的元素变为'\0','\0'是不会在黑框内显示的。
4.一维数组中的地址
一维数组中的各个元素数据类型相同,所以每个元素占得字节数都和该数据类型一致
例如:int a[5];
a[0]的地址为2000,则a[4]的地址为2016;a[0]到a[4]相差四个元素,每个元素都为int型,占4个字节,所以在2000的基础上加上4*4,得到a[4]地址为2016。