局域网建站软件,做外贸在哪个网站找客户,分众传媒电梯广告价格表,天眼在线查企业查询系统在本文中#xff0c;您将学习将数组传递给C 中的函数。您将学习如何传递一维和多维数组。
数组可以作为参数传递给函数。也可以从函数返回数组。考虑以下示例#xff0c;将一维数组传递给函数#xff1a;
示例1#xff1a;将一维数组传递给函数
C 程序通过将一维数组传递…在本文中您将学习将数组传递给C 中的函数。您将学习如何传递一维和多维数组。
数组可以作为参数传递给函数。也可以从函数返回数组。考虑以下示例将一维数组传递给函数
示例1将一维数组传递给函数
C 程序通过将一维数组传递给函数来显示5个学生的分数。
#include iostream
using namespace std;void display(int m[5]) {std::cout 显示分数 std::endl;for (int i 0; i 5; i) {std::cout Student i 1 : m[i] std::endl;}
}int main() {int marks[5] { 87,78,90,89,67 };display(marks);return 0;
} 输出结果 将多维数组传递给函数
多维数组可以通过与一维数组相似的方式传递。考虑以下示例将二维数组传递给函数
示例2将多维数组传递给函数
C 程序通过将二维数组的元素传递给函数来显示它。
#include iostreamvoid display(int m[2][5]) {std::cout 显示值 std::endl;for (int i 0; i 2; i) {for (int j 0; j 5; j) {std::cout m[i][j] ;}}
}int main() {int marks[2][5] { { 87,78,90,89,67 },{ 22,34,56,76,54 } };display(marks);return 0;
}
输出结果 在上面的程序中多维数组 marks 被传递给函数display()。在display()函数内部使用嵌套的for循环遍历数组mmarks。该程序使用2个for循环遍历二维数组中的元素。如果是一个三维数组那么应该使用3 for循环。最后所有元素都被打印到屏幕上。注意 维度大于2的多维数组可以以类似于二维数组的方式传递。
C 从函数返回数组 C 不允许返回一个完整的数组作为函数的参数。但是您可以通过指定不带索引的数组名来返回一个指向数组的指针。 如果您想要从函数返回一个一维数组您必须声明一个返回指针的函数如下
int * myFunction()
{
.
.
.
}
另外C 不支持在函数外返回局部变量的地址除非定义局部变量为 static 变量。
#include iostreamint* display() {static int marks[5] { 87,78,90,89,67 };return marks;
}int main() {int* p; // 定义一个指向整数的指针p display();for (int i 0; i 5; i) {std::cout *(p i ): *(p i) std::endl;}return 0;
}
输出结果 若将display()函数中的代码改为 输出结果 这也印证了C 不支持在函数外返回局部变量的地址除非定义局部变量为 static 变量这句话。