1.将一维数组传递给函数
//一维数组传递给函数
#include <iostream>
using namespace std;
//创建数组
void display (int marks[5]);
int main()
{
//对数组初始化
int marks[5] = {87, 89, 79, 85, 90};
//参数marks被传递给函数display
display(marks);
return 0;
}
/*函数声明中的形式参数int m [5]转换为int * m;
该指针指向由数组marks指向的相同地址。*/
void display (int m[5])
{
cout << "display mark:" << endl;
for (int i=0; i<5; ++i)
{
cout << "student " << i+1
<< ": " << m[i] << endl;
}
}
运行结果

2.将多维数组传递给函数
//多维数组传递给函数
#include <iostream>
using namespace std;
//创建数组
void display(int n[3][2]);
int main()
{
//初始化数组
int num[3][2] = {
{6, 6},
{7, 8},
{4, 9}
};
//参数传递给函数
display(num);
return 0;
}
//定义数组
void display(int n[3][2])
{
cout << "input number:\n";
for (int i=0; i<3; ++i)
{
for (int j=0; j<2; ++j)
{
//循环输出第n[][]个元素的结果
cout << n[i][j] <<" ";
}
}
}
运行结果

3.函数返回数组
//函数返回数组
//头文件
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
/*生成返回随机数的函数,
生成带指针的参数指向数组*/
int * getRandom()
{
/*cpp不支持返回局部变量的地址,
除非定义局部变量为static变量*/
static int r[8];
//设置种子,随机函数初始化
srand ((unsigned)time(NULL));
for (int i=0; i<8; ++i)
{
//产生随机数并赋值
r[i]=rand();
cout<<r[i]<<endl;
}
return r;
}
//调用上面定义函数的主函数
int main()
{
//一个指向整数的指针
int *p;
//定义参数的结果赋值给p
p = getRandom();
for (int i=0; i<8; ++i)
{
cout<< "*(p+" << i << "): "<<*(p+i)<<endl;
}
return 0;
}
运行结果


949

被折叠的 条评论
为什么被折叠?



