传送数组时用指针表示法

上面一篇博客的例子将传送给average()函数的数组元素使用正常的数组表示法来访问。也可以把传递给函数的数组看作指针,这篇博客介绍数组做指针运算。

使用数组时利用指针表示法,要修改函数原型和函数头,说明给第一个参数使用了指针表示法(而不是数组表示法),但这里不是必须的,可以在函数体中使用指针表示法,但第一个参数的类型仍然指定为数组。

#include <iostream>    
#include <iomanip>    
using namespace std;


double average(double* array,int count);  //function prototype

int main()
{
	double values[] = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0};
	cout << endl
		<< "Average="
		<< average(values, (sizeof values) / sizeof values[0])
		<< endl;
	   return 0;
}


double average(double* array, int count)
{
	double average=0;
	for (int i = 0; i < count; i++)
	{
		//average += array[i];
		average += *array++;
	}
	
	return average/count;

}

可以看出,只要改动少许,就可以把数组用作指针,函数原型和函数头都做了修改,实际上两者都不是必须的,(上一个博客中的代码的函数原型和函数头不变,函数体用指针编写,此时程序的运行情况一样。)

#include <iostream>    
#include <iomanip>    
using namespace std;


double average(double array[],int count);  //function prototype

int main()
{
	double values[] = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0};
	cout << endl
		<< "Average="
		<< average(values, (sizeof values) / sizeof values[0])
		<< endl;
	   return 0;
}


double average(double array[], int count)
{
	double average=0;
	for (int i = 0; i < count; i++)
	{
		//average += array[i];
		average += *array++;
	}
	
	return average/count;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值