指针上的C指针:未使用的变量

指针上的C指针:未使用的变量,c,pointers,C,Pointers,我刚刚用C编写了我的第一个应用程序,我有一个警告(编辑):未使用的变量pp int compteur = 1; int *p = &compteur; int **pp = &p; 我只是想让pp指向变量p 如果这是一个愚蠢的问题,请原谅,但在我的书中,他们并没有在指针上谈论指针。 谢谢,这是完全合理的。您的编译器只是通知您创建了一个变量,然后没有对它做任何处理-通常表示编程错误。我可以假设,这不是错误,而是警告。“unused variable pp”意味着在以后的代码中不

我刚刚用C编写了我的第一个应用程序,我有一个警告(编辑):
未使用的变量pp

int compteur =  1;
int *p = &compteur;
int **pp = &p;
我只是想让
pp
指向变量
p

如果这是一个愚蠢的问题,请原谅,但在我的书中,他们并没有在指针上谈论指针。
谢谢,这是完全合理的。您的编译器只是通知您创建了一个变量,然后没有对它做任何处理-通常表示编程错误。

我可以假设,这不是错误,而是警告。“unused variable pp”意味着在以后的代码中不使用变量pp。

如果这是您的程序唯一要做的事情,那么是的,编译器警告您未使用的变量是正确的,因为您没有使用它们

如果您要执行,例如,
printf(“%d\n”,**p),则警告应消失

我有此警告(已编辑):未使用 可变pp

尊重(并担心和询问)编译器警告消息,这是我的荣幸。保持这种状态。(我总是使用
-Werror
编译,这样“警告”就被视为“错误”。我总是觉得它很有用。)

引述:

-未使用变量

当局部变量或非常量为静态变量时发出警告 变量除了其 宣言。此警告已启用 靠墙

严格地说,声明一个变量然后不使用它是有意义的。这就是
pp
的情况,编译器正在提醒这一点。在这种特殊情况下

  • 您可以以某种必需的方式使用
    pp
    ,或者

  • 以“无操作”的方式使用它

以下是“无操作”方式的代码:


有关no-op-use的更多详细信息,请参阅另一个线程:

除非您告诉编译器将警告作为错误处理,否则这种情况最多只能产生一个警告。
int main() {

    int compteur = 1;
    int *p = &compteur;
    int **pp = &p;
    (void) pp;            // no-op use of pp
}