Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어에서 변수 이름을 출력하는 방법

C 프로그래밍에서는 매크로를 활용하면 변수의 이름 자체를 문자열로 출력할 수 있습니다. 이는 # 연산자(문자열화 연산자, Stringize Operator)를 사용하는 간단한 기법으로, 디버깅이나 로그 작성 시 유용하게 활용됩니다.

예제 코드

#include <stdio.h>
#define VariableName(name) #name
int main() {
    int name;
    char ch;
    printf("변수 이름 : %s", VariableName(name));
    printf("\n변수 이름 : %s", VariableName(ch));
    return 0;
}

실행 결과

변수 이름 : name
변수 이름 : ch

코드 설명

위 프로그램에서 변수 이름을 출력할 수 있는 핵심은 main() 함수 이전에 정의된 다음 매크로입니다.

#define VariableName(name) #name

여기서 #name은 전처리기(preprocessor)가 제공하는 문자열화 연산자입니다. 매크로에 전달된 인수를 그대로 큰따옴표로 묶인 문자열 리터럴로 변환해 주기 때문에, 변수의 값이 아니라 변수의 '이름'이 그대로 출력됩니다.

프로그램 본문에서는 서로 다른 자료형을 가진 두 개의 변수를 선언한 뒤, 앞서 정의한 매크로 함수를 통해 각각의 변수 이름을 출력합니다.

int name;
char ch;
printf("변수 이름 : %s", VariableName(name));
printf("\n변수 이름 : %s", VariableName(ch));

정리

이처럼 C 언어에서는 #define과 문자열화 연산자(#)를 조합하면 별도의 복잡한 코드 없이도 변수 이름을 손쉽게 문자열로 출력할 수 있습니다. 특히 여러 변수의 상태를 확인해야 하는 디버깅 상황에서 코드 가독성을 높이는 데 큰 도움이 됩니다.