0
点赞
收藏
分享

微信扫一扫

数组与函数

晗韩不普通 2022-04-30 阅读 30
c++

1. 数组元素作为函数的参数

一维数组元素可以直接作为函数实参使用,其用法与变量相同

int max(int a,int b);
int A[5]={1,2,3,4,5} , c=2, x;
x=max(c,-10); //使用变量作为函数实参
x=max(A[2],-10); //使用数组元素作为函数实参

2. 整个数组作为函数的参数

数组作为函数的形参,基本形式为:

返回类型 函数名(类型 数组名[常量表达式],...)

{

函数体

}

double average(double A[100],int n)
{
 … //函数体
}

数组参数的传递机制

►如果实参使用数组名调用,本质上是将这个数组的首地址传递到形参中。

►尽管数组数据很多,但它们均从一个首地址连续存放,这个首地址对应的正是数组名。

void fun(int A[10],int n)
{ ……
A[0]=10;
}
int main()
{
 int a[10]={1,2,3,4,5} , x=5;
 fun(a,x); //实参分别是数组和整型变量
}

数组实参a传的是数组首地址,形参A定义为数组形式,它现在的地址与实参数组a一样,则本质上形参数组A就是实参数组a(内存中两个对象所处位置相同,则它们实为同一个对象)。

如:编写函数求两个数的最大值和最小值

 #include<iostream> 
 using namespace std; 
 void m(int b[2],int x,int y) 
 { 
 b[0]=(x>y)? x:y; 
 b[1]=(x<y)?x:y; 
 } 
 int main() 
 { int x,y,a[2]; 
 cin>>x>>y; 
 m(a,x,y); 
 cout<<"max="<<a[0]<<",min="<<a[1]<<endl; 
 return 0; 
 }
举报

相关推荐

0 条评论