函数定义中数组可以作为形参吗
时间: 2024-03-23 11:40:14 浏览: 11
是的,函数定义中可以使用数组作为形参。这可以通过指定数组类型和名称来完成。例如,下面是一个使用数组作为形参的函数定义的示例:
```
void myFunction(int arr[], int size) {
// 函数体
}
```
在这个示例中,`myFunction` 函数有两个形参,第一个形参是一个整数数组类型的参数 `arr`,第二个形参是一个整数类型的参数 `size`。该函数可以使用传递给它的数组和数组大小来执行特定的操作。
相关问题
数组作为函数的形参定义的语法
数组作为函数的形参可以通过以下几种方式进行定义:
1. 使用数组名作为形参:
```c++
void functionName(dataType arrayName[]) {
// 函数体
}
```
这种方式中,形参arrayName是一个指向数组首元素的指针。在函数中可以使用arrayName[index]来访问数组元素。
2. 显式指定数组大小:
```c++
void functionName(dataType arrayName[size]) {
// 函数体
}
```
这种方式中,形参arrayName指定了数组的大小为size。在函数中可以使用arrayName[index]来访问数组元素。
3. 使用指针作为形参:
```c++
void functionName(dataType* arrayName, int size) {
// 函数体
}
```
这种方式中,形参arrayName是一个指向数组首元素的指针,而size表示数组的大小。在函数中可以使用arrayName[index]来访问数组元素。
需要注意的是,在函数中对数组进行修改时,会影响到原始数组的值。如果不希望修改原始数组,可以使用const修饰形参,如:
```c++
void functionName(const dataType arrayName[], int size) {
// 函数体
}
```
这样定义的形参在函数内部是只读的,不能修改数组的值。
定义冒泡排序函数。实参数组名,形参指针
以下是C++语言的冒泡排序函数,其中实参数组名为arr,形参指针为p,函数使用了指针来操作数组:
```cpp
void bubbleSort(int* p, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (*(p + j) > *(p + j + 1)) {
int temp = *(p + j);
*(p + j) = *(p + j + 1);
*(p + j + 1) = temp;
}
}
}
}
```
使用方法如下:
```cpp
int arr[] = { 5, 2, 8, 3, 1, 6 };
int n = sizeof(arr) / sizeof(int);
bubbleSort(arr, n);
```