char* args[]和char **args的区别是什么
时间: 2024-06-19 08:02:24 浏览: 14
char* args[]和char **args都表示指向字符指针的指针。它们的主要区别在于它们的声明方式不同,char* args[]是一个指向字符指针的数组,而char **args是一个指向指针的指针。在实际使用中,它们在指针操作和数组操作方面有所不同,但在功能上是等效的,都可以用于传递字符串数组或字符指针数组。
下面给出一个演示示例,该示例将两种不同的声明方式(char* args[]和char **args)用于相同的函数,并将它们与字符串数组进行比较。
```c
#include <stdio.h>
void printStrings(char *args[], int count) { // char* args[]
int i;
for (i = 0; i < count; i++) {
printf("%s\n", args[i]);
}
}
void printStrings2(char **args, int count) { // char **args
int i;
for (i = 0; i < count; i++) {
printf("%s\n", args[i]);
}
}
int main(int argc, char *argv[]) {
char *strings[] = {"apple", "orange", "banana"};
int count = sizeof(strings) / sizeof(strings);
printStrings(strings, count);
printf("--------\n");
printStrings2(strings, count);
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)