我刚刚在C中做了我的第一个应用,我有警告(已编辑):unused variable pp
int compteur = 1;
int *p = &compteur;
int **pp = &p;
我只是想让pp
指向变量p
请原谅我,如果这是一个愚蠢的问题,但在我的书中,他们并没有谈论关于指针的指针。 感谢
答案 0 :(得分:3)
这完全合法。你的编译器只是通知你你创建了一个变量,然后没有对它做任何事情 - 通常表示编程错误。
答案 1 :(得分:3)
我可以认为,这不是错误,而是警告。 “未使用的变量pp”表示您在其他代码中不使用变量pp。
答案 2 :(得分:2)
如果这是你的程序唯一做的事情,那么是的,编译器是正确的,警告你未使用的变量,因为你没有对它们做任何事情!
如果你要这样做,例如printf("%d\n", **p);
,然后警告就会消失。
答案 3 :(得分:1)
我有此警告(已编辑):未使用 变量pp
尊重(并担心并询问)编译器警告消息的荣誉。保持这种状态。(我总是使用-Werror
进行编译,以便将“警告”视为“错误”。我总觉得它很有帮助。)
-Wunused-variable
每当局部变量或非常量静态时发出警告 除了它之外,变量是未使用的 宣言。此警告已启用 by -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?