C 空**是什么意思

C 空**是什么意思,c,void-pointers,C,Void Pointers,我以前在C语言课程中没有见过void** int *dev_c; dev_c = &val; printf("%p\n",dev_c); // val address printf("%p\n",&dev_c); // get the address of dev_c printf("%p\n",(void **)&dev_c); (void**)是类型转换器吗?最后两行输出相同的结果。这是指向void类型指针的指针。该行正在转换对该类型的引用。它是指向void类型指

我以前在C语言课程中没有见过void**

int *dev_c;
dev_c = &val;
printf("%p\n",dev_c);  // val address
printf("%p\n",&dev_c); // get the address of dev_c
printf("%p\n",(void **)&dev_c);

(void**)是类型转换器吗?最后两行输出相同的结果。

这是指向void类型指针的指针。该行正在转换对该类型的引用。

它是指向void类型指针的指针。该行正在转换对该类型的引用。

(void**)
是一个转换。它正在强制转换
&devu c
地址(其类型指针指向
int
),使其成为指向
void
的指针。

(void**)
是强制转换。它正在强制转换
&devu c
地址(该地址的类型指针指向
int
),改为将其作为指向
void
的指针。

void**
是指向指针的指针。在您的示例中
devu c
是指针,因此此
&devu c
的地址将是指向指针的指针,并且它被类型转换为
void**

void**
是指向指针的指针。在您的示例中
dev_c
是指针,因此此
&dev_c
的地址将是指向指针的指针,它被键入到
void**
(void**)
是一个类型转换,用于指示指向指针的指针

在printf的示例代码中,它不起任何作用。

(void**)
是一种类型转换,用于指示指向指针的指针

在printf的示例代码中,它不起任何作用。

(void**)dev_c==(void*)dev_c?@John:No,
(void**)dev_c
是堆栈上的
dev_c
变量的地址
(void*)dev_c
是存储在
dev_c
变量中的值。(void**)dev_c==(void*)dev_c?@John:No,
(void**)dev_c
是堆栈上
dev_c
变量的地址
(void*)dev_c
是存储在
dev_c
变量中的值。