c语言 数组名作为函数的形参 例子
时间: 2023-07-15 11:12:19 浏览: 58
以下是一个使用数组名作为函数形参的 C 语言例子:
```c
#include <stdio.h>
void printArray(int arr[], int size) {
int i;
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int myArray[5] = {1, 2, 3, 4, 5};
printArray(myArray, 5);
return 0;
}
```
在上面的程序中,我们定义了一个名为 `printArray` 的函数,该函数接收一个整数数组和数组大小作为参数。在函数内部,我们使用一个循环遍历数组并打印每个元素的值。在 `main` 函数中,我们声明了一个名为 `myArray` 的整数数组,并将其传递给 `printArray` 函数,以及数组的大小(在这种情况下,数组大小是5)。在运行程序时,将输出 `1 2 3 4 5`。
相关问题
c语言数组作为形参怎么传递
在 C 语言中,数组作为形参传递时,实际上传递的是数组的首地址,也就是数组名。因此,我们可以将形参定义为指向相应类型的指针,如:
```c
void foo(int arr[], int n) {
//...
}
```
或者是:
```c
void foo(int *arr, int n) {
//...
}
```
这两种方式都可以将数组作为形参进行传递。需要注意的是,在函数内部,我们可以通过指针访问数组元素,但无法获取数组的长度,因此需要通过另外一个参数来传递数组的长度。
C语言数组指针可以作为函数类型吗
在C语言中,数组指针可以作为函数的参数类型但不能作为函数的返回类型。换句话说,你可以将数组指针作为函数的参数传递,但不能将其作为函数的返回值。
例如,下面是一个接受数组指针作为参数的函数的示例代码:
```c
#include <stdio.h>
void printArray(int (*arr)[5]) {
for(int i = 0; i < 5; i++) {
printf("%d ", (*arr)[i]);
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
printArray(&arr);
return 0;
}
```
在上述代码中,`printArray` 函数接受一个指向整型数组的指针作为参数。在 `main` 函数中,我们定义了一个整型数组 `arr`,并使用 `&arr` 将其地址传递给 `printArray` 函数。然后,在 `printArray` 函数中,我们使用指针访问数组元素并打印出来。输出结果为:1 2 3 4 5。
需要注意的是,由于传递的是数组指针,函数中定义的形参应该与实际数组的维度匹配。