c++把字符数组作为参数传递给函数
时间: 2024-09-28 21:16:44 浏览: 60
在C++中,你可以通过指针或引用的方式将字符数组作为参数传递给函数,因为C++并不支持直接将数组作为参数传递(这被称为“值传递”),因为它会复制整个数组,消耗较多内存。以下是两种常见方式:
1. **通过指针传递**:
```cpp
void printCharArray(char* arr, int size) {
for (int i = 0; i < size; i++) {
cout << arr[i];
}
}
// 示例调用
char myArray[] = "Hello";
printCharArray(myArray, sizeof(myArray) - 1); // 注意减去1是因为数组结尾的'\0'
```
2. **通过引用传递**:
```cpp
void printCharArray(char(&arr)[size]) { // C++11及以上版本
for (char& ch : arr) {
cout << ch;
}
}
// 示例调用
char myArray[] = "World";
printCharArray(myArray);
```
这里使用了C++11引入的引用来间接访问数组元素,这样不会复制整个数组,而是传递数组本身的一个引用。
相关问题
c++字符串数组怎么在在函数中引用
在C++中,如果你想要在一个函数中引用字符串数组,你可以直接将数组名作为函数参数传递,因为数组在C++中实际上是地址常量。以下是如何在函数中引用字符串数组的例子:
```cpp
#include <iostream>
using namespace std;
void printArray(string arr[], int size) {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
string myArray[] = {"Hello", "World", "C++"};
int arraySize = sizeof(myArray) / sizeof(myArray[0]); // 获取数组大小
printArray(myArray, arraySize); // 函数调用,传入数组和长度
return 0;
}
```
在这个例子中,`printArray`函数接受一个`string`类型的数组`arr`和一个整数`size`,然后遍历数组并打印每个元素。在`main`函数里,我们创建了一个名为`myArray`的字符串数组,然后将其传递给`printArray`函数。
阅读全文