void main() { #define SIZE 10 printf("SIZE = %d\n", SIZE); #undef SIZE #define SIZE 20 printf("SIZE = %d\n", SIZE); }
프로그램 실행화면
#define은 자주 쓰는 놈이다. 조건문이나 반복문 등에 들어가는 기준을 정해줄 때 쓰면 프로그램을 변경할 때 #define 부분만 수정해 주면 되기 때문에 자주 쓰는 버릇을 들여놓으면 너무 편한 녀석이다.
만약 프로그램 중 한 구역에서만 이 #define값을 변경해야 한다면 어떻게 해주면 될까? #define으로 정의해준 녀석을 지워주는 역할을 #undef이 해준다.
SIZE = 10 이었지만 삭제 후 20으로 변경했다. SIZE가 각각 10, 20으로 출력되는 것을 볼 수 있다. 만약 한 곳에서만 이 값을 변경해야 한다면 #undef을 활용하면 된다.