У меня возникла проблема со следующими кодами, особенно в header.c, где я не могу получить доступ к переменной extern int x в header.h... Почему? Является ли внешняя переменная в.h не глобальной? Как я могу использовать это в других файлах?
===header.h===
#ifndef HDR_H
#define HDR_H
extern int x;
void function();
#endif
===header.c===
#include <stdio.h>
#include "header.h"
void function()
{
printf("%d", x); //****undefined reference to x, why?****
}
===sample.c===
int main()
{
int x = 1;
function();
printf("\n%d", x);
return 0;
}