C++ 数组作为函数参数

数组元素和数组名都可以作为函数的参数以实现函数间数据的传递和共享。

可以用数组元素作为调用函数时的实参,这与使用该类型的一个变量(或对象)作实参是完全相同的。

如果使用数组名作为函数的参数,则实参和形参都应该是数组名,且类型要相同。和普通变量做参数不同,使用数组名传递数据时,传递的是地址。 形参数组和实参数组的首地址重合,后面的元素按照各自在内存中的存储顺序进行对应,对应元素使用相同的数据存储地址,因此实参数组的元素个数不应该少于形参数组的元素个数。如果在被调函数中对形参数组元素值进行改变,主调函数中实参数组的相应元素值也会改变。

【例】使用数组名作函数参数。在主函数中初始化一个矩阵,并将每个元素都输出,然后调用子函数,分别计算每一行的元素之和,将和直接存放在每一行的第一个元素中,返回函数之后输出各行元素的和。

void rowSum(int a[][4],int nRow)
{
	for (int i = 0; i < nRow;i++)
	{
		for (int j = 1; j < 4; j++)
		{
			a[i][0] += a[i][j];
		}
		cout << "第" << i+1 << "行元素的和为:" << a[i][0] << endl;
	}
}

int main()
{
	int arr[3][4] = { {1,2,3,4},{2,3,4,5},{3,4,5,6} };
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			cout<<arr[i][j]<<"     ";
		}
		cout << endl;
	}
	rowSum(arr, 2);

	return 0;
}

运行结果:
在这里插入图片描述
结果分析:
在子函数被调用之前,输出的arr[i][0]的值分别为1,2,3,而调用完成后arr[i][0]的值分别为10,14,18,也就是说在子函数中对形参元素的操作结果直接影响到函数实参的相应元素。

【注意】把数组作为函数参数时,一般不指定数组第一维的大小,即使指定,也会被忽略。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值