18-2-¶ó.#undef

#undef´Â #defineÀÇ ¹Ý´ëµÇ´Â µ¿ÀÛÀ» ÇÏ´Â Àü󸮹®ÀÌ´Ù. #defineÀÌ ¸ÅÅ©·Î¸¦ Á¤ÀÇÇϴµ¥ ºñÇØ #undef´Â Á¤ÀǵǾî ÀÖ´Â ¸ÅÅ©·Î¸¦ »èÁ¦ÇÑ´Ù. Àü󸮱â´Â ÀÌ ¸í·ÉÀ» ¸¸³ª¸é ÁöÁ¤ÇÑ ¸ÅÅ©·ÎÀÇ Á¤ÀǸ¦ Ãë¼ÒÇÏ°í ÀÌÈĺÎÅÍ ÀÌ ¸íĪ¿¡ ´ëÇؼ­´Â ġȯÀ» ÁßÁöÇÑ´Ù. #undef ´ÙÀ½¿¡ Ãë¼ÒÇÏ°í ½ÍÀº ¸ÅÅ©·ÎÀÇ À̸§¸¸ Àû¾îÁÖ¸é µÈ´Ù.

ÀϹÝÀûÀ¸·Î ¸ÅÅ©·Î´Â ÇÑ ¹ø Á¤ÀǵǸé ÇÁ·ÎÁ§Æ® Àüü¿¡ °ÉÃÄ ÀÏ°üµÈ °ªÀ¸·Î »ç¿ëµÇ¹Ç·Î ÀÌ¹Ì Á¤ÀǵǾî ÀÖ´Â ¸ÅÅ©·Î¸¦ Ãë¼ÒÇÒ °æ¿ì¶õ ±×¸® ÈçÇÏÁö ¾Ê´Ù. #undef°¡ ²À ÇÊ¿äÇÑ °æ¿ì´Â »ç¿ëÁßÀÎ ¸ÅÅ©·Î¸¦ ´Ù¸¥ °ªÀ¸·Î ÀçÁ¤ÀÇÇÏ°í ½ÍÀ» ¶§ÀÌ´Ù. Á¸ÀçÇÏ´Â ¸ÅÅ©·Î¸¦ #defineÀ¸·Î ´Ù½Ã Á¤ÀÇÇÒ °æ¿ì ÀçÁ¤ÀÇÇÒ ¼ö ¾ø´Ù´Â °æ°í ¸Þ½ÃÁö(ÄÄÆÄÀÏ·¯¿¡ µû¶ó¼­´Â ¿¡·¯ ¸Þ½ÃÁö)°¡ Ãâ·ÂµÇ¹Ç·Î ¸ÅÅ©·Î¸¦ ¸ÕÀú Áö¿î ÈÄ ´Ù½Ã Á¤ÀÇÇØ¾ß ÇÑ´Ù. ´ÙÀ½ÀÌ ±× ¿¹ÀÌ´Ù.

 

¿¹ Á¦ : undef

#include <Turboc.h>

 

void main()

{

#define SIZE 10

     printf("SIZE=%d\n",SIZE);

#undef SIZE

#define SIZE 20

     printf("SIZE=%d\n",SIZE);

}

 

SIZE ¸ÅÅ©·Î »ó¼ö¸¦ ÃÖÃÊ 10À¸·Î Á¤ÀÇÇØ ³õ°í »ç¿ëÇß´Ù. ¾î¶² ÀÌÀ¯·Î ÀÌ ¸ÅÅ©·Î¸¦ ´Ù¸¥ °ªÀ¸·Î ¹Ù²Ù°í ½Í´Ù¸é #undef·Î SIZE ¸ÅÅ©·Î¸¦ »èÁ¦ÇÑ ÈÄ #defineÀ¸·Î ´Ù½Ã Á¤ÀÇÇØ¾ß ÇÑ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

SIZE=10

SIZE=20

 

À§ ¿¹Á¦´Â #undefÀÇ µ¿ÀÛÀ» ¼³¸íÇϱâ À§ÇØ ÀǵµÀûÀ¸·Î ÀÛ¼ºÇÑ °ÍÀ̹ǷΠ´Ù¼Ò ºÎÀÚ¿¬½º·¯¿î ¸éÀÌ ÀÖ´Ù. Á¸ÀçÇÏ´Â ¸ÅÅ©·Î¸¦ ÀçÁ¤ÀÇÇϱ⺸´Ù´Â µÎ °³ÀÇ ´Ù¸¥ ¸ÅÅ©·Î¸¦ ¸¸µé¾î ¾²¸é ÈξÀ ´õ ½±°Ô ÇØ°áµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ½ÇÀü¿¡¼­´Â ¾î¿ ¼ö ¾øÀÌ ¸ÅÅ©·Î¸¦ ÀçÁ¤ÀÇÇØ¾ß ÇÏ´Â °æ¿ìµµ Àִµ¥ ¿¹¸¦ µéÀÚ¸é ¿ÜºÎ¿¡¼­ °¡Á®¿Â Çì´õ ÆÄÀÏÀÇ ¸ÅÅ©·Î°¡ Ãæµ¹µÉ ¶§¸¦ µé ¼ö ÀÖ´Ù. ext1.h, ext2.h µÎ Çì´õ ÆÄÀÏÀÌ ¸ðµÎ TIMEÀ̶ó´Â ¸ÅÅ©·Î¸¦ »ç¿ëÇϴµ¥ ÀÌ °ªÀÌ ¼­·Î ´Þ¶ó¾ß ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ Çì´õ ÆÄÀÏÀ» Æ÷ÇÔÇϱâ Àü¿¡ ¸ÅÅ©·Î¸¦ ÀçÁ¤ÀÇÇÏ¸é µÈ´Ù.

 

#define TIME 800

#include <ext1.h>

#undef TIME

#define TIME 1400

#include <ext2.h>

 

ÀÌ·¸°Ô Çϸé ext1.h¸¦ ÄÄÆÄÀÏÇÒ ¶§ TIMEÀº 800ÀÌ µÇ°í ext2.h¸¦ ÄÄÆÄÀÏÇÒ ¶§ TIMEÀº 1400ÀÌ µÈ´Ù. ÀÏÁ¤ÇÑ ¹üÀ§ ³»¿¡¼­¸¸ ¸ÅÅ©·ÎÀÇ Àǹ̸¦ Àá½Ã ¹Ù²Ù°í ½ÍÀ» ¶§ ¸ÅÅ©·Î ÀçÁ¤ÀÇ ±â¹ýÀÌ °¡²û ÇÊ¿äÇÏ´Ù. ¶ÇÇÑ ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ¸ÅÅ©·Î¸¦ ¿ÜºÎ¿¡¼­ Á¤ÀÇÇÏ°í ÀÖ´õ¶óµµ ÀڽŸ¸ÀÇ ¸ÅÅ©·Î¸¦ ²À Á¤ÀÇÇÏ°í ½Í´Ù¸é Á¶°ÇºÎ ÄÄÆÄÀÏ Áö½ÃÀÚ¿Í ÇÔ²² »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

 

#ifdef MACRO

#undef MACRO

#endif

#define MACRO ³»°¡ ¿øÇÏ´Â °ª

 

¸¸¾à MACRO°¡ ÀÌ¹Ì Á¤ÀǵǾî ÀÖ´Ù¸é Ãë¼ÒÇØ ¹ö¸®°í ¿øÇÏ´Â °ªÀ¸·Î ´Ù½Ã Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. #defineÀº Áߺ¹ Á¤ÀǸ¦ Çã¿ëÇÏÁö ¾Ê´Â ¹Ý¸é #undef´Â Á¸ÀçÇÏÁö ¾Ê´Â ¸ÅÅ©·ÎÀÌ´õ¶óµµ ¿¡·¯·Î 󸮵ÇÁö ¾Ê´Â Ư¼ºÀÌ ÀÖ´Ù. ±×·¡¼­ À§ Äڵ忡¼­ Á¶°ÇºÎ ÄÄÆÄÀÏ Áö½ÃÀÚ°¡ ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù.