posted by 구로보루 2017. 7. 19. 13:28

 이번에 C를 다시시작하면서 상수화시키는 방법인 #define을 다시 배웠다.

 

 

 

 이런식으로 맨날 쓰기 귀찮은 printf도 매크로를 만들어 한글자로 줄일 수 있고, 수학에서 파이와 같은3.141592... 이런 값을 #define PI 3.141592 정의하여 쓴다.

 그런데 함수내에서 const를 사용하여 변수를 지정하여 쓰는것도 상수화 시키는 방식인데 가령 const float PI = 3.141592 이렇게 정의하면 위의 #define과 마찬가지로 PI라는 상수를 이용하는게 가능하다.

 

 위 2가지 상수화 방법의 차이점은

const의 경우는 자료형을 기록하고 #define은 자료형을 기록하지 않는다. 다시말해 const는 변수를 상수화 하는 경우이고 #define은 그렇지 않다. 때문에 const를 사용하면 디버깅시 값을 확인할 수 있고 #define보다 안전하다. 그래서 위의 printf 매크로 처럼  #define만 할 수 있는 작업이 아니면 const를 추천한다.

 

 여담 : 여기에 대해 알아보면서 #define을 통해 여러줄의 함수를 매크로로 만들때 \을 사용할 수 있다고 한다.

 

 요런 식으로...

'공부 > C' 카테고리의 다른 글

글자색 설정하기  (1) 2017.08.27
for문 증감문에 전위연산자와 후위연산자의 차이  (0) 2017.07.27
for / while  (0) 2017.07.20
선행처리기  (0) 2017.07.19
자료형, 서식문자  (0) 2017.07.18