C语言定义字符串二维数组并将其作为形参传递给函数
时间: 2023-12-18 22:02:36 浏览: 55
可以使用以下方式定义字符串二维数组并将其作为形参传递给函数:
```c
#include <stdio.h>
void printStrings(char strings[][20], int n) {
for(int i=0; i<n; i++) {
printf("%s\n", strings[i]);
}
}
int main() {
char strings[][20] = {"Hello", "World", "How", "Are", "You"};
int n = sizeof(strings)/sizeof(strings[0]);
printStrings(strings, n);
return 0;
}
```
在上面的例子中,我们定义了一个名为 `strings` 的字符串二维数组,并将其初始化为一些字符串。我们还定义了一个名为 `printStrings` 的函数,它接受两个参数:一个字符串二维数组和一个整数,表示字符串数组的大小。在函数中,我们使用一个循环遍历字符串数组,并使用 `printf` 函数打印每个字符串。在主函数中,我们首先计算字符串数组的大小并将其传递给 `printStrings` 函数。
相关问题
c语言函数二维数组作为形参
当我们需要在 C 语言中传递二维数组作为函数的参数时,可以使用以下两种方法:
1. 将二维数组作为指针传递
这种方法是最常用的方法,可以将二维数组看作是一个指向指针数组的指针,然后将其作为函数参数传递。函数中可以通过指针访问数组元素。
示例代码:
```c
void printArray(int *arr, int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", *(arr + i * col + j));
}
printf("\n");
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
printArray((int *)arr, 2, 3);
return 0;
}
```
2. 使用数组参数声明
这种方法可以将二维数组作为函数参数声明,函数中可以直接使用数组名访问数组元素。
示例代码:
```c
void printArray(int arr[][3], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
printArray(arr, 2, 3);
return 0;
}
```
c语言二维数组作为形参
在 C 语言中,我们可以将二维数组作为形参传递给函数。当把二维数组作为形参传递时,只需要在函数声明中指定该数组的行数和列数。
下面是一个简单的例子:
```c
#include <stdio.h>
void printArray(int arr[][3], int rows) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
printArray(arr, 2);
return 0;
}
```
在上面的例子中,我们定义了一个名为 `printArray` 的函数,它接受一个二维数组 `arr` 和一个整数 `rows` 作为参数。在函数内部,我们使用两个嵌套的循环来遍历整个数组,并将每个元素打印到控制台上。
在主函数中,我们定义了一个名为 `arr` 的二维数组,并将其初始化为一个 2x3 的矩阵。然后我们调用 `printArray` 函数,并将数组 `arr` 和数值 `2` 作为参数传递给它。最后,程序将会输出以下结果:
```
1 2 3
4 5 6
```
这个例子演示了如何将二维数组作为形参传递给函数,并在函数内部访问它的元素。需要注意的是,当我们将二维数组作为形参传递时,必须指定数组的列数,但不需要指定行数,因为行数可以从数组本身推断出来。