关于定义和赋值
定义数组:类型名 变量名[数组数量]
//数组从a[0]开始。
int a[10];
1.int a[3]={0,1,2}; //每个数据依次赋值
2.int a[3]={1,2}; //赋值一部分,后面自动为0.
3.int a[]={1,2,3};//全部赋值,但是不指定元素个数。
也可以构成二维、n维数组,格式如下。
int b[9][5];
//二维数组相当于每个一维数组又添加了一维数组
1.int c[2][4]={{1,2,3,4},{5,6,7,8}};//二维数组的赋值。
//第一个{}中,是第一行数组的四个列的赋值,第二个{}中,是第二行数组的四个列的赋值。
2.int c[2][4]={1,2,3,4,5,6,7,8};
//依次给出赋值,结果和1中相同。
3.int c[2][4]={{1,2},{0,3}};
//则按行的顺序依次赋值,未初始化的自动补0,第一行是1 2 0 0,第二行是0 3 0 0.
4.
若对二维数组中全部设定初值,那么定义数组时,第一组元素可以自动得出。
int d[][3]={1,2,3,4,5,6}
//可得[]中为2.
关于引用
a[0];//直接使用数组名+下标。
c[0][0];
关于内存
//定义数组后,系统会分配内存单元,从下标0-10存放。
//每个数组元素所占字节由类型决定。
二维及以上的存储顺序为
int a[2][2];
a[0][0],a[0][1],a[1][0],a[1][1].
//若看做行,列表格的话,是先按行存储。
*函数调用时,不为形参数组分配空间,而是共享实参数组的内存空间。
关于地址
a[0]的地址为数组首地址
数组名 a 可以代表首地址。
用法
*a[10]
可以输入 a 来调用a[0]。
*当b[][4]存在,
可以用 b[0]调用b的第一行数组。
*输入数组时候用for循环。
*1.排序大小时候可以应用。
2.可以用来算矩阵。
*当数组带入函数时,若函数改变数组,出函数后数组是改变后的。
若使用数组作为函数的形参,可以返回多个值。