http://www.geeksforgeeks.org/understanding-extern-keyword-in-c/ Since functions are visible through out the program by default. The use of extern is not needed in function declaration/definition. Its use is redundant. Understanding “extern” keyword in C I’m sure that this post will be as interesting and informative to C virgins (i.e. beginners) as it will be to those who are well versed in C. So..