关于二维数组的一点疑问
  • 板块学术版
  • 楼主ThisIsAName
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/9/30 11:46
  • 上次更新2023/10/27 09:29:01
查看原帖
关于二维数组的一点疑问
241102
ThisIsAName楼主2022/9/30 11:46

运行如下代码:

#include <iostream>
using namespace std;

int a[10][10];

int main()
{
	
	cout << a[0] << ' ' << a[1] <<  ' ' << a[2] <<  ' ' << a[3] << endl;
	a[1][1] = 1, a[2][1] = 2;
	swap(a[1], a[2]);
	cout << a[0] << ' ' << a[1] <<  ' ' << a[2] <<  ' ' << a[3] << endl;
	cout << a[1][1] << ' ' << a[2][1];

	return 0;
} 

可以得到结果:

0x490020 0x490048 0x490070 0x490098
0x490020 0x490048 0x490070 0x490098
2 1

可以发现,虽然已经用 swap() 交换了 a[1]a[2] 但输出的地址并没有改变,而这两行的确是交换了。

请问原因?

2022/9/30 11:46
加载中...