C언어 (1) 썸네일형 리스트형 [C 언어] 매크로에 do {...} while(0)을 사용하는 이유 가끔식 코드를 보면 아래와 같이 매크로에 do {..} while(0) 문을 쓰는 것을 볼 수 있다. #define TEST() \ do { \ \ \ } while (0) 이렇게 코드를 만들어주는 이유는 아래와 같다. 1. 지역 변수를 선언할 수 있는 scope를 만들어준다. #define TEST() \ do { \ int i = 0; \ } while (0) 하지만 굳이 do {...} while(0) 문이 아니고 그냥 중괄호를 사용해도 지역변수를 선언할 수 있다. #define TEST() \ { \ int i = 0; \ } while (0) 그렇다면, "do {...} while (0) 문 대신 그냥 중괄호를 사용하여 지역변수를 할당할 수 있도록 하면되는 것 아닌가?" 라는 의문이 든다. 하지.. 이전 1 다음