這是我的代碼看起來像一個例子:「從不同大小的整數轉換爲指針」是什麼意思?
void *a = NULL;
void *b = //something;
a = (void *)(*((char *)b + 4));
是(B + 4)指向的值是,我想在一個存儲地址。當我嘗試編譯時,我得到「警告:從不同大小的整數轉換爲指針」。這是什麼意思,我應該怎麼做才能解決它?
編輯:爲了澄清,我不想'a'指向比'b'大4個字節的地址。在我的程序中,我知道存儲在((char *)b + 4)中的值本身就是另一個指針,我想將這個指針存儲在'a'中。
謝謝您的澄清。現在我明白我做了什麼,但是我的目標不是指向比'b'大4個字節的地址。在我的程序中,我知道存儲在((char *)b +4)中的值本身就是另一個指針,我想將此指針存儲在'a'中。 – David
@David:請看我的更新,如果我瞭解你,我認爲你就是這樣。 –
是的,謝謝!我假設(char **)意味着它是一個指針指針?我對C仍然很陌生,所以處理指針會讓我感到困惑。 – David