I know that static keyword makes a C function/variable is file-scoped.
And I've read that If I want to make a variable global scope (accessed by more than one file), I should do:
in the .c file:
int my_global_var;
// main()....
in the .h file:
extern int my_global_var;
So, any one will include my .h file will be able to reference my_global_var which is already externed.
And I read also this is required for functions as well but I am using gcc 4.x and I don't extern the function in the .h file and other programs can successfully link it.
So, the question is...
Is the behavior of the non-static function linkage is the default or should I extern non-static functions to adhere to the standard??
 
     
    