c++多维数组

1.严格来说,c++没有多维数组,其实是数组的数组,例如a[3][4]是一个大小为3的数组,3个元素都是含有4个整数的数组

2.范围for的运用,注意除了最内层的循环外,所有循环外的控制变量必须是引用类型,如果要改变数组内元素,内层也需引用

int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
for (auto &row : a)          //外层
	for (auto num : row)    //内层
		printf("%d\n", num);

原因:为了避免数组被自动转成指针。如果外层是引用类型,row代表的是三个元素(有四个整数的数组),如果外层不是引用类型,那么row将指向三个元素(数组)的首地址,是int*类型,这样内层就不合法了

for (auto row : a)
	printf("%d\n", *row);    //输出1 5 9

上一篇:MySQL学习总结之路(第七章:选择合适的数据类型)


下一篇:LeetCode:168.Excel表列名称