在用数组名作函数参数时,下面两种函数声明是有区别的。 ①void fun(int arr[], int n); ②void fun(int *arr, int n) ;
时间: 2023-10-12 14:04:55 浏览: 375
在用数组名作为函数参数时,这两种函数声明本质上没有区别。
在第一种函数声明中,形参 arr 是一个数组,但是它会被编译器自动转化为指向数组首元素的指针。所以,arr 可以被看作是一个指向整型数据的指针。
在第二种函数声明中,形参 arr 是一个指向整型数据的指针,也可以用于传递数组。
因此,这两种函数声明都可以用于传递数组。但是,数组名作为函数参数时不能指定数组大小。所以,函数内部需要用参数 n 来获取数组的大小。
相关问题
用c语言编写函数void fun(int arr[],int n)将一个数组中的值逆序存放,并在main中输出
以下是用C语言编写的实现代码:
```
#include <stdio.h>
void fun(int arr[], int n) {
int i, j, temp;
for (i = 0, j = n - 1; i < j; i++, j--) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Before reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
fun(arr, n);
printf("\nAfter reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Before reverse: 1 2 3 4 5
After reverse: 5 4 3 2 1
```
在 `main` 函数中,我们首先定义了一个整型数组 `arr` 并初始化。接着我们计算出数组的长度 `n`。然后我们调用 `fun` 函数将数组逆序存放。最后我们在 `main` 函数中输出逆序后的数组。
在 `fun` 函数中,我们使用了两个变量 `i` 和 `j` 分别指向数组的第一个元素和最后一个元素。我们使用一个循环,每次将 `arr[i]` 和 `arr[j]` 的值交换,然后将 `i` 增加1,将 `j` 减少1。当 `i` 大于等于 `j` 时,循环结束。这样就完成了数组的逆序存放。
编写函数void fun(int arr[],int n)将一个数组中的值按逆序存放,并在main()函数中输出
以下是实现代码:
```c
#include <stdio.h>
void fun(int arr[], int n) {
int i, temp;
for (i = 0; i < n / 2; i++) {
temp = arr[i];
arr[i] = arr[n - 1 - i];
arr[n - 1 - i] = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Before reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
fun(arr, n);
printf("\nAfter reverse: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
函数`fun`将数组中的元素按逆序存放,使用了双指针法,遍历数组前一半,将前后两个元素互换位置。在`main`函数中,我们首先输出原始数组,再调用`fun`函数进行逆序,最后输出处理后的数组。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)