C++学习笔记---从一个程序看数组与指针

请编程实现下面的功能:编写函数 f( ),实现整型数组元素求和。

#include<iostream>
using namespace std;
int f0(int a[],int size);
int f1(int *a,int size);
int main(){
    
    
	int a[20],size,sum0,sum1;// size < 20
	cin>>size;
	for(int i=0;i<size;i++)
		cin>>a[i];
	sum0=f0(a,size);
	sum1=f1(a,size);
	cout<<sum0<<' '<<sum1<<endl;
	return 0;
}
int f0(int a[],int size){
    
    
	int sum=0;
	for(int i=0;i<size;i++)
		sum+=a[i];
	return sum;
}
int f1(int *a,int size){
    
    
	int sum=0;
	for(int i=0;i<size;i++)
		sum+=a[i];
	return sum;
}

测试:
在这里插入图片描述
在这里插入图片描述
这里我们定义了两个函数,都实现了预期效果,f0 函数传的 a[ ]; f1 函数传的 a 的指针,什么意思呢?对于我这样的新手需要理解一下:也就是说函数调用一个数组作为参数时为了提高效率只会调用它的首地址,也就是说机器将 a[ ] 理解为了整个数组 a 的首地址,也就是a的指针,它们是等效的(数组名就是指针),所以不必疑惑于数组首地址(数组名)与数组指针的相同作用了,对于更加深入的理解,还需要我的持续学习,来不断弥补自己的不足之处!

猜你喜欢

转载自blog.csdn.net/interestingddd/article/details/114759534