将数组传递给函数在C语言中是一种常见的操作,这种操作可以让我们更加方便地管理和操作数组数据。下面详细讲解如何将数组传递给函数。
函数原型
在C语言中,我们在函数中使用数组参数时,必须在函数原型中声明该参数的类型和名称,例如:
void function_name(int array[], int size);
这里,array[]
表示该参数是一个数组,int size
表示数组的长度。注意,这里不能省略数组的大小声明,因为在C语言中,数组的大小是数组类型的一部分。
使用数组参数
在函数中使用参数时,我们可以对其进行修改,这样就可以改变该数组的值。例如:
void function_name(int array[], int size) {
for (int i=0; i<size; i++) {
array[i] = array[i] * 2;
}
}
这个函数将数组中的每个元素都乘以2。
将数组作为参数传递给函数
要将数组作为参数传递给函数,只需将数组名作为参数传递,例如:
void function_name(int array[], int size);
int main() {
int my_array[5] = {1, 2, 3, 4, 5};
function_name(my_array, 5);
return 0;
}
这里将my_array
数组作为参数传递给function_name()
函数中,size
指定了数组的大小。函数将对数组进行修改,但my_array
数组在函数调用结束后仍然保持原来的值。
示例1
下面是一个示例程序,演示了如何将数组作为参数传递给函数并对其进行修改:
#include <stdio.h>
void multiply_by_2(int array[], int size) {
for (int i=0; i<size; i++) {
array[i] = array[i] * 2;
}
}
int main() {
int my_array[5] = {1, 2, 3, 4, 5};
printf("Original array: ");
for (int i=0; i<5; i++) {
printf("%d ", my_array[i]);
}
printf("\n");
multiply_by_2(my_array, 5);
printf("Modified array: ");
for (int i=0; i<5; i++) {
printf("%d ", my_array[i]);
}
printf("\n");
return 0;
}
这个程序将my_array
数组传递给multiply_by_2()
函数,函数将数组中的每个元素都乘以2。在程序中输出了原始数组和修改后的数组,可以看到数组被正确修改了。
示例2
下面是另一个示例程序,演示了如何将二维数组作为参数传递给函数:
#include <stdio.h>
void print_matrix(int matrix[][3], int rows) {
for (int i=0; i<rows; i++) {
for (int j=0; j<3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int my_matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
print_matrix(my_matrix, 2);
return 0;
}
这个程序将一个2行3列的矩阵(即二维数组)传递给print_matrix()
函数,函数将该矩阵输出。注意,在函数原型中声明二维数组时,必须指定列数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 将数组传递给函数 - Python技术站