неопределенная ссылка на переменную i - PullRequest
0 голосов
/ 11 июня 2011

вот мой кусок кода

#include<stdio.h>
 main ()
{
        extern int i;
        i=20;
     printf("%d",i);
}

Когда я компилирую его, я получаю ошибку

ka2.c: In function ‘main’:
ka2.c:6: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
/tmp/ccGXrSE5.o: In function `main':
**ka2.c:(.text+0x6): undefined reference to `i'**
collect2: ld returned 1 exit status

Я хочу знать причину ошибки в строках, которые я выделил жирным шрифтом.

Ответы [ 2 ]

4 голосов
/ 11 июня 2011

Вы объявили i, но не определили его, поэтому компоновщик жалуется.

2 голосов
/ 11 июня 2011

Вы объявили меня как extern.Удаление этого ключевого слова устраняет проблему, поскольку extern означает нечто, определенное в другом модуле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...