C++ 二维数组详解

严格来说,C++中没有多维数组,通常所说的多维数组实际上是数组的数组


多维数组的初始化

int a[2][2] = {{1,2},{3,4}};//最正常的初始化,谨记多维数组是数组的数组
int a[2][2] = {1,2,3,4};//与上等价,但这样看起来不是很方便
int a[2][2] = {{1},{2}};//只初始化每一行的第一个元素,其它执行默认初始化
int a[2][2] = {1,2,3};//逐个放进去


多维数组作为函数的形参

由于多维数组其实就是数组的数组,而传递一个以为数组的形参时,传递的是一个指向其第一个元素的指针,那么传递多维数组时,传递的也是一个指向其第一个元素的指针,而这个元素是一个数组。

综上,传递多维数组的参数时,是传递一个指向数组的指针(数组的后面维度的大小都是数组类型的一部分,不可省略)。

int *a[10];//10个int指针构成的数组
int (*a)[10];//指针a,指向一个10个int元素的数组

int a[][10];//参数形式~,但即使将第一维参数加上,编译器也会自动忽略,所以,通常函数还需要一个参数来表示其第一维度的大小


猜你喜欢

转载自blog.csdn.net/misayaaaaa/article/details/78510369