c++1.用数组作为函数形参实现函数,函数调用时实参为数组。 2.用数组作为函数形参实现函数,函数调用时实参为指针。 3.用指针作为函数形参实现函数,函数调用时实参为数组。 用指针作为函数形参实现函数,函数调用时实参为指针。
时间: 2024-05-03 16:16:50 浏览: 9
1. 用数组作为函数形参实现函数,函数调用时实参为数组:
```c
void func(int arr[], int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
2. 用数组作为函数形参实现函数,函数调用时实参为指针:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
3. 用指针作为函数形参实现函数,函数调用时实参为数组:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(&arr[0], 5);
return 0;
}
```
4. 用指针作为函数形参实现函数,函数调用时实参为指针:
```c
void func(int *arr, int len) {
// 函数体
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
return 0;
}
```
相关问题
c语言 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放并输出
可以编写一个函数来实现这个功能,函数通过指针来操作数组。
下面是一个示例代码:
```c
#include <stdio.h>
void reverse(int* arr, int size) {
int temp;
for (int i = 0; i < size / 2; i++) {
temp = *(arr + i);
*(arr + i) = *(arr + size - i - 1);
*(arr + size - i - 1) = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(int);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, size);
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序首先定义了一个函数 `reverse`,该函数接受一个整型指针和一个整型参数,用于逆序存放指针所指向的数组。
函数首先通过循环将数组中的第 i 个元素与倒数第 i + 1 个元素交换位置,从而实现数组的逆序存放。
在 `main` 函数中,我们定义了一个整型数组 `arr`,并计算出数组的长度 `size`。然后,我们输出原始数组的内容,调用 `reverse` 函数将数组逆序存放,最后再次输出逆序后的数组内容。
运行该程序,输出如下:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
1.定义冒泡排序函数。实参数组名,形参指针
以下是使用指针实现的冒泡排序函数:
```c
void bubble_sort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
```
其中,arr是实参指向数组首元素的指针,n是数组的长度。在函数内部,使用指针访问数组元素,通过交换相邻元素的值实现冒泡排序。