An
extern
variable is a declaration (thanks to sbi for the correction) of a variable which is defined in another translation unit. So that means that the variable is defined in another file...Say you have two
.c
-files test1.c
and test2.c
. If you define a global variable int test1_var;
in test1.c
and you'd like to access this variable in test2.c
you have to use extern int test1_var;
in test2.c
.Complete sample:
$ cat test1.c
int test1_var = 5;
$ cat test2.c
#include <stdio.h>
extern int test1_var;
int main(void) {
printf("test1_var = %d\n", test1_var);
return 0;
}
$ gcc test1.c test2.c -o test
$ ./test
test1_var = 5
0 comments:
Post a Comment