I have been seeing code like this usually in the start of source files in C
#ifndef _INCLUDE_GUARDS_C
#define _INCLUDE_GUARDS_C
main()
{
}
function1()
{
}
#endif
function2()
{
}
I am confused about the purpose of this ..?
I am aware if the include guards define in header files, but
what is the purpose of these include guards in source files ? and
why function2() is defined outside the include guards ?