Home > Backend Development > C++ > body text

In C language, the predefined identifier __func__

王林
Release: 2023-08-30 12:49:06
forward
806 people have browsed it

In C language, the predefined identifier __func__

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”;
Copy after login

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,

Example

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;
}
Copy after login

Output

function2
function1
Copy after login

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,

Example

Online Demonstration

#include <stdio.h>
int main (){
   printf ("%s</p><p>", __func__);
   return 0;
}
Copy after login

Output

main
Copy after login

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

Example

Live Demo

#include <stdio.h>
int __func__ = 123;
int main (){
   printf ("%s</p><p>", __func__);
   return 0;
}
Copy after login

Output

error
Copy after login

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

Example

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;
}
Copy after login

Output

The function: function1 is in line: 3 of the file :main.c
Copy after login

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!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template