C语言数组定义解释

一维数组定义方式为:
int a[] = {0,1,2,3,4,5,...};

int a[3] = {0,1,2};
第一种定义方式没有指定元素数量,第二种固定三个元素进行传参,如果int a[4] = {0,1,2};,那么第四个元素默认是0

二维数组定义方式为:
int a[][] = {
{1,2,3},
{4,5,6},
{7,8,9}
};
int a[][] 代表的是 要定义一个二维数组,=后面的值为二维数组的内容
a[0]输出结果为数组{1,2,3},a[1]输出结果为数组{4,5,6},那么a[0][1]输出为1,a[1][1]输出为4,a[1][1]输出为5


----------以上是我觉得的----------

和我学的PHP JS等语言不太一样的数组处理方式,深层逻辑我也不懂。

就以我学的PHP来说,PHP的数组定义:
$a = []; 就是定义一个空数组
$a[] = 123; 就是将变量a数组的首个元素指定为123
$a[] = 123;$a[] = 456;将0键值的数据指定为123,将1键值的数据指定为456
--上面是PHP定义一维数组的基本方法--

PHP二维数组的定义方式和C语言也有一样的地方:
$a = [
[1,2,3],
[4,5,6],
[7,8,9]
];
定义和C语言一样的二维数组

当然也有不一样的地方:
$a[0] = [0,1,2];
$a[1] = [3,4,5];
$a[2] = [6,7,8];
这样定义出来也是一样的二维数组


----------下面为我个人理解----------
首先C语言的int a[][] = {{},{}}格式和PHP的$a = [[],[],[]]类似
int a[][] 代表的是 告诉系统要定义一个二维数组,=后面的值为二维数组的内容
而PHP可以直接指定一维数组的键值等于另外一个数组,从而达到二维数组的定义

只是自己做个笔记理解一下两个语言的数组定义方式以及不同,C我也是刚学不久不是很理解,就先写个笔记记录一下了