Last updated :
Posted :
__func__ is a predefined identifier , it was defined as part of the c99 standard, and it is used to get the name of a function.
#include <stdio.h>
/*
include the stdio header, in order
to use the printf function .*/
int main( int argc, char * argv[ ] ){
printf( "The name of the function is: %s ", __func__ );
/* output:
The name of the function is: main .*/
return 0; }
__func__ can be thought of, as being defined inside a function, as follows :
void aFunction( ){
static const char * const __func__ = "aFunction";
/* __func__ is an array of constant
characters, which contains the
function name, in this case
aFunction .*/}
The __func__ identifier must not be redefined , if this is done, the behaviour is not defined .