C中的多维数组其实是一维数组来实现的
比如:
int a[i][j],创建的时候,可以不给出i的值,但是必须给出j的值。
也就是说在c中多维数组的实现方式是这样的:(以二维数组为例)
用一维数组来存储二维数组,然后划分长度为j的片段,每一个片段为一行。
也就是说,c中的多维数组在分配存储空间的时候,每一行都在一开始便分配好了相等的存储空间,即是定长的
而在C#或者Java中实现方式可是使得多维数组变长,还是以二维数组作比
int a[i][j],在实例化的时候,一定要给出i的值,但是可以不给出j的值
也就是说,只分配给每一行一个引用,但是每个引用指向的空间的大小还得再一次实例化。
从而实现列的变长~