我只是在做我的第一個應用程序在C和我有這個警告(編輯):unused variable pp
的C指針:未使用的變量
int compteur = 1;
int *p = &compteur;
int **pp = &p;
我只是試圖讓pp
指向上ADRESS的變量p
請原諒我,如果這是一個愚蠢的問題,但在我的書他們不談論指針指針。 謝謝
我只是在做我的第一個應用程序在C和我有這個警告(編輯):unused variable pp
的C指針:未使用的變量
int compteur = 1;
int *p = &compteur;
int **pp = &p;
我只是試圖讓pp
指向上ADRESS的變量p
請原諒我,如果這是一個愚蠢的問題,但在我的書他們不談論指針指針。 謝謝
那麼如果這是你的程序唯一的作用,那麼是的,編譯器是正確的,警告你關於未使用的變量,因爲你沒有對它們做任何事情!
如果您要做例如printf("%d\n", **p);
,那麼警告應該消失。
這是完全合法的。你的編譯器只是告訴你,你做了一個變量,然後沒有做任何事情 - 通常表明編程錯誤。
我可以假設,那不是錯誤,但是警告。 「未使用的變量pp」意味着,你只是不在後面的代碼中使用變量pp。
哦對,所以沒有必要擔心:) – 2010-10-24 14:48:29
我有這個警告(編輯):未使用 可變PP
獎勵尊重(和令人擔心的,並要求)編譯器警告消息。保持這一點。(我總是-Werror
,使 「警告」 被當成編譯我總是發現它有用 「的錯誤。」)。
-Wunused變量
警告每當局部變量或非常量靜態 變量未被使用時,其 聲明除外。此警告由-Wall啓用 。
嚴格地說,聲明一個變量然後不使用它是有意義的。 pp
就是這種情況,編譯器正在提醒您。在這種特殊情況下,
無論你使用一些需要方式pp
,或
在「無操作」的方式來使用它。
以下爲「無操作」的方式代碼:
int main() {
int compteur = 1;
int *p = &compteur;
int **pp = &p;
(void) pp; // no-op use of pp
}
有關無操作使用的詳細信息,請參閱其他線程:What does the following code do?
除非你告訴編譯器爲了將警告作爲錯誤來處理,這種情況通常最多會產生警告。 – AraK 2010-10-24 14:47:50