本文介绍了在C语言编程中,将二维数组作为函数参数进行传递时可采用的三种不同方法及其应用场景。
在C语言编程过程中经常会遇到需要通过函数传递二维数组的情况。这里介绍三种方法来实现这一功能。
**方法一:给定第二维的长度作为形参**
例如:
```c
#include
void func(int n, char str[][5]) {
int i;
for(i = 0; i < n; i++)
printf(\nstr[%d] = %s\n, i, str[i]);
}
int main() {
char* p[3];
char str[][5] = {abc,def,ghi};
func(3, str);
}
```
**方法二:形参声明为指向数组的指针**
例如:
```c
#include
void func(int n, char (*str)[5]) {
int i;
for(i = 0; i < n; i++)
printf(\nstr[%d] = %s\n, i, str[i]);
}
int main() {
char* p[3];
char str[][5] = {abc,def,ghi};
func(3, (char (*)[5])str);
}
```
需要注意的是,虽然这两个例子展示了传递二维数组给函数的两种方式,但在方法二中需要进行类型转换以确保指针正确指向二维字符数组。