What is the use of extern in c/c++?

The extern keyword is used to tell the compiler that a data object is declared in a different *.cpp or *.c file. So there wont be any new memory is allocated for these variables. Check the below example and understand the working.

//file1.cpp
#include <iostream.h>
 
int x;
extern void func2();
 
void func1(void)
{
        x = x + 100;
        cout<<"x in func1 = "<< x << endl;
}
 
int main(void)
{
        x = 10;
        cout<<"x in main function = "<< x << endl;
        func1(); // calls func1 
        func2(); // calls func2 from file2
}
//file2.cpp
#include <iostream.h>
extern int x;
void func2(void)
{
        x = x + 300;
        cout<<"x in file2 = "<< x << endl;
}

Output:

x in main function = 10
x in func1 = 110
x in file2 = 410


One Response to “What is the use of extern in c/c++?”

  1. Hai ragione Gianni! Avrei dovuto inserire il no ebook neli1#82&7;artlcolo: sarà che con una magia degna di Melisandre, me ne sono trovata una versione sul Kindle, quasi ingannandomi fosse una versione ufficiale.Comunque è assurdo: è un libro che molto più di altri si presta alla versione digitale, vuoi anche solo la pesantezza estrema dei tomi!L’Italia non è un paese per lettori appassionati, lo dirò sempre.

    Reply

Leave a Reply