储存字符串数组的传参
时间: 2024-09-28 20:10:08 浏览: 39
在C语言中,如果你想传递一个字符串数组作为函数参数,可以采用以下几种方式:
1. **通过指针传递**:
- 使用`char *`类型传递数组首元素的地址,然后在函数内部通过`*`运算符访问数组元素。
```c
void func(char str[]); // 定义函数,str接收字符串数组地址
char myArray[5] = {"Hello", "World"}; // 声明并初始化字符串数组
func(myArray); // 传递数组首元素地址
```
2. **通过数组名传递**:
- 在C语言中,数组名本质上就是指向数组第一个元素的指针。所以你可以直接传递数组名,函数内部能自动处理整个数组。
```c
void func(const char *array); // 直接用const防止修改原数组
const char myArray[] = {"Hello", "World"}; // 注意这里不用&,数组名即为地址
func(myArray);
```
3. **通过数组长度和起始索引传递**:
- 如果数组长度固定并且需要在函数内访问特定部分,可以同时传递数组长度和起始索引。
```c
void func(int length, const char *start);
const char myArray[] = {"Hello", "World"};
int arrayLength = sizeof(myArray) / sizeof(myArray[0]);
func(arrayLength, myArray);
```
当你传递字符串数组时,记得确保函数不会改变原始数组的内容,除非你明确地声明函数可以修改输入。
阅读全文