Identifier is the name given to an entity in programming to identify it in the program.
Usually, identifiers are created by programmers to work efficiently, but there are also some predefined identifiers built into programming. For example, cout, cin, etc.
Here we will see __func__, a predefined identifier in the C programming language. The formal definition of
__func__ is −
"The identifier __func__ shall be implicitly declared by the translator as if immediately following the opening curly brace of each function definition The declaration is the same."
static const char __func__[] = “function-name”;
appeared, where function-name is the name of the lexically-enclosing function."
C program The __func__ is a compiler-generated identifier that is created to identify the function using function name.
Let's see a few code examples to make the concept more clear,
Live Demo
#include <stdio.h> void function1 (void){ printf ("%s</p><p>", __func__); } void function2 (void){ printf ("%s</p><p>", __func__); function1 (); } int main (){ function2 (); return 0; }
function2 function1
Explanation − Here, we have used the __func__ method to return the name of the function being called. The identifier returns the name of the function it was called. Both print statements Called __func__ to get its own method reference.
This identifier can even be used in the main method. For example,
Online Demonstration
#include <stdio.h> int main (){ printf ("%s</p><p>", __func__); return 0; }
main
But this cannot be overwritten i.e. __func__ is reserved for function names only. Using it to store anything else will return error.
Let's see
Live Demo
#include <stdio.h> int __func__ = 123; int main (){ printf ("%s</p><p>", __func__); return 0; }
error
There are other similar functions in C programming language that can do similar recognition work. Some of them are
__File__ - Returns the name of the current file.
__LINE__ - Returns the number of the current line.
Let’s look at a code to show the implementation
Online Demonstration
#include <stdio.h> void function1(){ printf("The function: %s is in line: %d of the file :%s</p><p>", __func__,__LINE__,__FILE__); } int main(){ function1(); return 0; }
The function: function1 is in line: 3 of the file :main.c
Explanation − These are some common functions that may be used when we collect information about file names , line of code, and information about the currently called function, use the __func__, __LINE__, __FILE__ identifiers.
The above is the detailed content of In C language, the predefined identifier __func__. For more information, please follow other related articles on the PHP Chinese website!