gpt4 book ai didi

c - C中的**运算符是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 00:14:43 25 4
gpt4 key购买 nike

**在C语言中有什么特殊含义吗?

像这样:

static intparse_one (int argc, char **argv)
{
cmd_line *slot;
int value;
Flag_name flag_name;
int i;

printf("argv %s\n",argv);
printf("argv[0] %c\n",**argv);

如果是,则行

**argv

有意义吗?我试图运行的一个程序被它阻塞了。如果我尝试打印它,我会得到 segmentation fault .

第一个 printf 打印字符串很好。第二个 printf 失败。

这是我得到的输出结果(第一行是正确的):

argv -aps_instance1001-aps_ato0-aps_ipc_debug3

Segementation Fault (core dumped)

最佳答案

"Does ** have any special meaning in C?"

不,它只是两个dereferences .

char **argv

表示:argv 两次解引用是一个 char。换句话说,argv 是指向 char 的指针。


同样适用于:

"If so, does the line: **argv make sense?"

声明说 **argv 是一个 char。在运行时 argv 将被解引用两次;该值是 argv 指向 char 的指针所指向的 char

关于c - C中的**运算符是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2404216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com