的C指针:未使用的变量
我只是在做我的第一个应用程序在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