创建与初始化:
C语言二维数组的定义格式为:数组类型 数组名称[常量表达式1][常量表达式2]…[常量表达式n]={{数组1},{数组2},{数组n}};
创建如下:
//数组创建
int arr[3][4];
char arr[3][4];
double arr[2][4];
初始化如下:
//数组初始化
int arr[3][4] = {1,2,3,4};
int arr[3][4] = {{1,2},{4,5}};
int arr[][4] = {{2,3},{4,5}};//二维数组如果有初始化,行可以省略,列不能省略
注意事项
- 二维数组在创建时,如果没有初始化,行数和列数是不能省略的;
- 如果二维数组在创建时同时被初始化后,行数可以省略,但列数绝对不能省略。
总结:二维数组在未初始化时,行数和列数一定不能省略,然而在初始化后行数可以省略,列数不可以省略。
举例说明:
A.int a[4][] = {1,2,3,4,5,6};
B.int a[][3];
C.int a[][3] = {1,2,3,4,5,6};
D.int a[][] = {{1,2,3},{4,5,6}};
上述选项A,D两选项由于省略了行数,立即Pass掉,而B选项中由于未初始化就省略掉行数,因此也是错误的,因此只有C选项是正确的。