| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- The extern Storage Class
- The extern storage class is used to give a reference of a global variable that is visible to ALL
- the program files. When you use 'extern', the variable cannot be initialized however,
- it points the variable name at a storage location that has been previously defined.
- When you have multiple files and you define a global variable or function, which will also be used in
- other files, then extern will be used in another file to provide the reference of defined variable
- or function. Just for understanding, extern is used to declare a global variable or
- function in another file.
- The extern modifier is most commonly used when there are two or more files sharing the same global
- variables or functions as explained below.
- First File: main.c
- #include <stdio.h>
-
- int count ;
- extern void write_extern();
-
- main() {
- count = 5;
- write_extern();
- }
- Second File: support.c
- #include <stdio.h>
-
- extern int count;
-
- void write_extern(void) {
- printf("count is %d\n", count);
- }
- Here, extern is being used to declare count in the second file, where as it has its definition in the first
- file, main.c. Now, compile these two files as follows −
- $gcc main.c support.c
- It will produce the executable program a.out. When this program is executed, it produces the following result −
- count is 5
- */
|