函数的参数和返回值都是基本类型的情况比较简单,略过。
Part1:如果我想向一个函数传递数组
int f1(int arr[], int n)
{
int total;
for(int i=0; i<n; i++)
total = total + arr[i];
return total;
}
int main()
{
int coo[size]={1,2,1,4,2};
int sum = f1(coo, size);
return 0;
}
Part2:如果我想向一个函数传递数组,并返回经由他作用的数组覆盖原数组
void revalue(int arr[], int n)
{
int x;
for(int i=0; i<n; i++)
arr[i] *= x;
}
int main()
{
int coo[size]={1,2,1,4,2};
revalue(coo, size); //这里和以前不一样,
//使用普通参数时,C++按值传递数据,函数使用的是数据的副本,
//然而,对于接收数组名字的函数将使用原始数据。
//为防止函数无意修改数组内容,可在声明形参时使用关键字const
//eg:int f1(const int arr[], int n);
return 0;
}
Part3:如果我想向一个函数传递数组,然而这数组是个动态数组,程序开始之前并不知道它有多大,并且我希望返回经他作用的数组,并且覆盖原数组
Part4:如果我想向一个函数传递数组,然而这数组是个动态数组,程序开始之前并不知道它有多大,并且我希望返回经他作用的数组,并且不能覆盖原数组
Part5:如果我想向一个函数传递二维数组,然而这数组是个动态数组,程序开始之前并不知道它有多大,并且我希望返回经他作用的数组,并且不能覆盖原数组
Part6:如果我想向一个函数传递字符串,而不需要返回
Part7:如果我想向一个函数传递二维字符串,而不需要返回
Part8:如果我想向一个函数传递字符数组,并且我希望返回经他作用的数组,并且覆盖原数组
Part9:如果我想向一个函数传递二维字符数组,并且我希望返回经他作用的二维数组,并且覆盖原数组
Part10:如果我想向一个函数传递动态字符数组,我事先并不知道他究竟有多大,并且我希望返回经他作用的二维数组,并且覆盖原数组
Part11:如果我想向一个函数传递动态二维字符数组,我事先并不知道他究竟有多大,并且我希望返回经他作用的二维数组,并且覆盖原数组