식별자 프로그램에서 엔티티를 식별하기 위해 프로그래밍에서 엔티티에 부여된 이름입니다.
일반적으로 식별자는 효율적인 작업을 위해 프로그래머가 생성하지만 프로그래밍에 내장된 미리 정의된 식별자가 있습니다. 예:cout, cin 등
여기에서 __func__인 C 프로그래밍 언어의 미리 정의된 식별자 중 하나를 볼 수 있습니다.
__func__의 공식 정의는 -
입니다.“식별자 __func__는 마치 각 함수 정의의 여는 중괄호 바로 다음에 있는 것처럼 번역기에 의해 암시적으로 선언되어야 합니다.
static const char __func__[] = “function-name”;
여기서 function-name은 사전적으로 둘러싸는 함수의 이름입니다."
C 프로그램 __func__는 함수 이름을 사용하여 함수를 식별하기 위해 생성된 컴파일러 생성 식별자입니다.
개념을 보다 명확하게 하기 위해 몇 가지 코드 예제를 살펴보겠습니다.
예시
#include <stdio.h> void function1 (void){ printf ("%s\n", __func__); } void function2 (void){ printf ("%s\n", __func__); function1 (); } int main (){ function2 (); return 0; }
출력
function2 function1
설명 − 여기에서 호출된 함수의 이름을 반환하기 위해 __func__ 메서드를 사용했습니다. 식별자는 호출된 함수의 이름을 반환합니다. 두 인쇄 문은 자체 메서드 참조를 위해 __func__를 호출했습니다.
이것은 주요 방법에서도 작동합니다. 예,
예시
#include <stdio.h> int main (){ printf ("%s\n", __func__); return 0; }
출력
main
그러나 이것은 덮어쓸 수 없습니다. 즉, __func__는 함수 이름 전용으로 예약되어 있습니다. 다른 것을 저장하는 데 사용하면 오류가 반환됩니다.
보자
예시
#include <stdio.h> int __func__ = 123; int main (){ printf ("%s\n", __func__); return 0; }
출력
error
C 프로그래밍 언어에는 유사한 식별 작업을 수행하는 다른 유사한 기능도 있습니다. 일부는
__파일__ - 현재 파일의 이름을 반환합니다.
__LINE__ - 현재 줄의 번호를 반환합니다.
구현을 보여주는 코드를 보자
예시
#include <stdio.h> void function1(){ printf("The function: %s is in line: %d of the file :%s\n", __func__,__LINE__,__FILE__); } int main(){ function1(); return 0; }
출력
The function: function1 is in line: 3 of the file :main.c
설명 − __func__,__LINE__,__FILE__ 식별자를 사용하여 현재 호출되는 파일 이름, 코드 줄 및 함수에 관한 정보를 수집할 때 유용할 수 있는 몇 가지 일반 함수입니다.