C 语言将数组传递给函数

2025 年 3 月 28 日 | 阅读 3 分钟

在 C 语言中,有各种常见问题需要将多个相同类型的变量传递给函数。例如,考虑一个将 10 个元素按升序排序的函数。这样的函数需要将 10 个数字作为实际参数从主函数传递。这里,我们不必声明 10 个不同的数字然后将它们传递给函数,而是可以声明并初始化一个数组并将其传递给函数。这将解决所有复杂性,因为函数现在可以处理任意数量的值。

我们知道 array_name 包含第一个元素的地址。这里,我们必须注意到,我们只需要在旨在接受数组的函数中传递数组的名称。定义为形式参数的数组将自动引用定义为实际参数的数组名称指定的数组。

考虑以下将数组传递给函数的语法。

声明接收数组作为参数的函数的方法

有 3 种方法可以声明旨在接收数组作为参数的函数。

第一种方法

声明空白下标表示法 [] 是最广泛使用的技术。

第二种方法

可选地,我们可以在下标表示法 [] 中定义大小。

第三种方法

您也可以使用指针的概念。在指针章节中,我们将对此进行学习。

C 语言将数组传递给函数的示例

示例

编译并运行

输出

minimum number is 3

C 语言中用于排序数组的函数

示例

编译并运行

输出

Printing Sorted Element List ...
7  
9  
10  
12  
23 
23  
34  
44  
78  
101  

从函数返回数组

众所周知,一个函数不能返回多个值。但是,如果我们尝试编写 return 语句 return a, b, c; 来返回三个值(a, b, c),函数将返回最后提到的值,即本例中的 c。在某些问题中,我们可能需要从函数返回多个值。在这种情况下,将从函数返回一个数组。

从函数返回数组与将数组传递到函数类似。数组的名称将从函数返回。为了使函数返回数组,将使用以下语法。

要存储从函数返回的数组,我们可以定义一个指向该数组的指针。由于指针最初指向数组的基地址,我们可以通过增加该指针来遍历数组。考虑以下包含返回排序数组的函数的示例。

示例

编译并运行

输出

Printing Sorted Element List ...
7  
9   
10  
12  
23 
23  
34  
44  
78  
101  

下一主题Test/c-array-1