1. 一维数组
- C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。
- 数组是用来
存储一系列数据
,但它往往被认为是一系列相同类型的变量
。 - 一维数组的定义
- 类型说明符 数组名[
常量表达式
];- 注意:中括号是
整型常量
或整型常量表达式
。 - 例如:
int a[10]; - 表示定义了一个整型数组,数组名是a,类型为整型,总共可以存放10个元素。
[]
中只能为整型常量表达式;错误示例:
- 注意:中括号是
- 类型说明符 数组名[
int n = 5;
int a[n]; //不合法
- 一维数组的访问
数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:
int number1 = a[0];
- 一维数组的初始化(定义 + 赋值)
1、int a[3]; a[0] = 1;a[1] = 2;a[2] = 3;
int a[3] = {1,2,3};
2、int a[5] = {1,2,3}; //未赋值元素默认为0 —— {1,2,3,0,0}
// 可以减少赋值,不能多赋值
3、int a[] = {1,2,3,4,5};
// 数组长度为初始化元素的个数
/*
错误示例
int a[5] = {};
int a[] = {};
*/
- 注意
可以少赋值
,至少赋一个
- 不能多赋值
省略长度说明,必须赋值
- 一维数组的应用
#include <stdio.h>
int main(int args [])
{
int a[5] = {1,48,78,26,2},i,max;
max = a[0];
for(i = 1 ;i < 5; i++)
{
if(a[i] > max){
max = a[i];
}
}
printf("最大值为:%d",max);
return 0;
}
2. 二维数组
- 二维数组的定义
类型说明符 数组名[常量表达式][常量表达式]
例如:
int a[3][4];
- 二维数组的初始化
1、int a[2][3] = {
{1,2,3},
{4,5,6}
};
int a[2][3] = {1,2,3,4,5,6};
2、int a[2][3] = {
{1},
{2}
};
3、int a[2][3] = {1,2,3}; //可以少赋值,不能多赋值
4、int a[][3] = {1,2,3,4,5,6}; //根据元素划分,三个一行,两行三列
/*
错误示例:
int a[][] = {};
int a[2][] = {1,2,3};
int a[2][3] = {
{1,2,3,4},
{1,2}
};
*/
- 注意:
未赋值
的元素默认为 0
行``下标``可以省略
列下表不能省略
可以少赋值,不能多赋值
没有赋值
,则行列都不可省
- 示例:
#include <stdio.h>
int main ()
{
/* 一个带有 5 行 2 列的数组 */
int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
int i, j;
/* 输出数组中每个元素的值 */
for ( i = 0; i < 5; i++ )
{
for ( j = 0; j < 2; j++ )
{
printf("a[%d][%d] = %d\n", i,j, a[i][j] );
}
}
return 0;
}
3. 多维数组
同上,省!!!