The __func__ predeclared identifier evaluates to a static array of char, initialized with the spelling of the function's name. It is visible anywhere within the body of a function definition. Example: void foo(void) {printf("%s\n", __func__);} This function prints "foo".