ex) #define TEST 1000 문제점 TEST -> 기호식 이름(symbolic name)으로 보이지만 컴파일러에겐 전혀 보이지 않는다. 이유는? 소스 코드가 어떻게든 컴파일러에게 넘어가기 전에 선행 처리자가 밀어버리고 숫자 상수로 바꾸어 버리기 때문이다. 상수 : 수식에서 변하지 않는 값 컴파일러 : 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램 결과 test라는 이름은 컴파일러가 쓰는 기호 테이블에 들어가지 않는다. 해결방법은 ? 매크로 대신 상수 사용 ex) const int test = 1000; (1) test는 언어 차원에서 지원하는 상수 타입의 데이터이기 때문에 당연히 컴파일러의 눈에도 보이며 기호 테이블에도 당연히 들어간다. (2) 상수..