What does extern mean in a function declaration?
Answers were Sorted based on User's Feedback
extern is significant only with data declarations. In
function declarations, it can be used as a stylistic hint
to indicate that the function's definition is probably in
another source file, but there is no formal difference
between
extern int f();
and
int f();
| Is This Answer Correct ? | 91 Yes | 14 No |
Answer / poornima
extern is a keyword that is prefixed in function
declaration. It means tht function definition is in source
file.
for eg.
source file contains int sum(int x,int y) definition part.
To make use of this function in file by simply declare as
extern int sum(int ,int); is a good practice.
But to compiler happy extern sum(); is enough.
| Is This Answer Correct ? | 34 Yes | 16 No |
Answer / zxg
(from MSDN)
Functions declared as extern are visible throughout all source files in the program (unless you later redeclare such a function as static). Any function can call an extern function.
Function declarations that omit the storage-class specifier are extern by default.
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / aravind
Extern is nothing but a memory storage type.If we declare extern before the function than the variable can be accessed by that function not only locally but externally too.
extern int a=4
Int fun (int x)
{
x=a;
print gives a=4
| Is This Answer Correct ? | 8 Yes | 19 No |
What is a newline escape sequence?
Tell me what are bitwise shift operators?
what is the hexidecimal number of 4100?
Which is better pointer or array?
pgm to find middle element of linklist(in efficent manner)
how to print "hai" in c?
Why do we need arrays in c?
Why we use break in c?
What is typedef?
What is the output of the following program main();{printf ("chennai""superkings"}; a. Chennai b. superkings c. error d. Chennai superkings
How can you print HELLO WORLD without using "semicolon"?
Is it acceptable to declare/define a variable in a c header?