char* argv[] = { "hello"," " };报错
时间: 2023-07-19 21:44:21 浏览: 29
这段代码有错误,因为数组中只有两个元素,第二个元素是一个空格字符,没有实际意义。在C语言中,字符串以空字符 '\0' 结尾,因此需要在 "hello" 后面添加一个空字符,即修改代码为:
```
char* argv[] = { "hello", "" };
```
这样就可以正确地声明一个包含两个字符串的数组了。
相关问题
char *path="/bin/ps"; char *argv[5]={ "ps","-a","-x",NULL};
以下是一个使用char *path="/bin/ps";和char *argv={ "ps","-a","-x",NULL};的示例:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
char *path = "/bin/ps";
char *argv[5] = { "ps", "-a", "-x", NULL };
execv(path, argv);
return 0;
}
```
这个示例使用了execv函数来执行指定路径的程序,并传递命令行参数。在这个示例中,程序将执行/bin/ps,并传递参数ps、-a和-x。execv函数会替换当前进程的映像,所以在执行execv后的代码将不会被执行。
char **argv = calloc(argc +1 , sizeof(*argv))是什么意思?
这段代码用于动态分配一个字符串数组,数组的大小为 `argc + 1`。其中,`argc` 表示程序运行时命令行参数的个数,`+1` 是为了给最后一个元素留出一个空间,用于存储 `NULL` 指针,表示字符串数组的结尾。
这个字符串数组的类型为 `char**`,即一个指向 `char*` 类型的指针数组。我们使用 `calloc()` 函数分配该数组的内存空间,并将所有元素初始化为 0。`sizeof(*argv)` 的结果是 `sizeof(char*)`,即一个指针变量的大小。因此,`calloc(argc + 1, sizeof(*argv))` 分配的内存大小为 `(argc + 1) * sizeof(char*)`。
这段代码通常用于在程序中处理命令行参数,例如:
```c
int main(int argc, char* argv[]) {
char** args = calloc(argc + 1, sizeof(*args));
for (int i = 0; i < argc; i++) {
args[i] = argv[i];
}
args[argc] = NULL;
// ...
free(args);
return 0;
}
```
在这个例子中,我们将 `argv` 中的所有命令行参数复制到 `args` 中,并且在最后一个元素处设置为 `NULL`,表示字符串数组的结尾。最后,我们需要使用 `free()` 函数释放 `args` 所分配的内存空间。
相关推荐
![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)