void ** は以前の C 言語コースで見たことがありません。
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 **)は型コンバーターですか? 最後の 2 行は同じ結果を出力します。
void ** は以前の C 言語コースで見たことがありません。
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 **)は型コンバーターですか? 最後の 2 行は同じ結果を出力します。
は(void**)
キャストです。&dev_c
アドレス (型は pointer to pointer to int
)をキャストし、void
代わりにポインターへのポインターにします。
void 型のポインタへのポインタです。その行は、その型への参照をキャストしています。
void**
あなたの例dev_c
ではポインタであるため、これのアドレスは&dev_c
ポインタへのポインタになり、これはに型キャストされvoid**
ます。
(void **)
ポインターへのポインターを示す型キャストです。
printf のコード例では、何もしません。