Home  >  Article  >  Backend Development  >  In C language, the predefined identifier __func__

In C language, the predefined identifier __func__

王林
王林forward
2023-08-30 12:49:06745browse

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”;

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;
}

Output

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,

Example

Online Demonstration

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

Output

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

Example

Live Demo

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

Output

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

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;
}

Output

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!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete