------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------数组的概念及用法
一、概念
数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。
二、数组的分类
(1)按结构复杂度划分可划分为:一维数组、二维数组和多维数组。
(2)按数据类型划分可划分为:字符数组、数值数组、指针数组和结构体数组。
三、数组的初始化
(1)一维数组初始化:可分为部分初始化和完全初始化。
部分初始化:除了已初始化元素的值,其余元素的值均初始化为0;例如:int a[5]={1,2};这个句子中除了前两个元素分别赋值为1、2外,其余均为零。
完全初始化:所有的数组元素的值都被初始化为相应的值;例如:int b[5]={1,2,3,4,5};
(2)二维数组初始化:同样分为部分初始化和完全初始化。
部分初始化:除了已初始化元素的值,其余元素的值均初始化为0;例如:int a[3][4]={1,2,3,4,5,6};需要注意的是,二维数组赋值顺序是先按行赋值的,即先从第一行开始赋值然后依次向下赋值,故该数组中a00=1,a01=2,a02=3,a03=4,a10=5,a11=6,剩余的全部赋值0。
完全初始化:所以的数组元素的值都被初始化为相应的值;例如:int b[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
注意事项:一个数组如果没有初始化,那么数组元素的值为垃圾值,即值不确定。
四、数组的存储方式
当定义并初始化一个数组时计算机会分配一块连续的存储空间,然后数组元素从首地址依次存储。
五、数组元素作为函数参数
参数形式:1、数组元素(下标变量)作为实参。2、数组名作为形参和实参使用。
1.首先我们看数组元素作为实参的例子:
#include<stdio.h>
int sum(int x,int y)
{
return x+y;
}
int main()
{
int s;
int a[5]={0,1,2,3,4};
s=sum(a[0],a[1]);
printf("s=%d\n",s);
}
打印输出结果为s=1;该函数把a[0],a[1]作为函数实参传说给sum()函数。
2.接着我们看数组名作参数的例子
#include<stdio.h>
int fun(char str[])
{
printf("%s",str);
}
int main()
{
char a[5]={'a','b','c','d','e'};
fun(a);
}
打印输出结果额外a,b,c,d,e。该函数把数组名a作为实参传说给函数fun().