C/C++教程

c++多维数组

本文主要是介绍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

这篇关于c++多维数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!