Mafa Dev

#define 과 const 선언의 차이점 본문

C언어/유용한 것

#define 과 const 선언의 차이점

마파_ 2013. 2. 20. 01:11

저번엔 const라는 변수를 상수화 시키는 선언에 대해 알아보았는데요 오늘 알고리즘 문제를 풀어보다가 #define 사용자 전 처리기를

 

사용하다가 const 선언과 #define의 차이점을 찾아보게 되었습니다. #define이란 값을 상수를 정의하는 기능을 하는데요

 

 #define 상수명

 

이렇게 사용 하면되는데 여기서 상수 이름을 매크로라고 하고 값을 대체 리스트라고 한다고 합니다.

 

그리고 #define은 끝에 세미콜론(;)을 붙이면 안된다는 점을 유의해야 합니다. 세미콜론을 붙이면 세미콜론까지 함께 값에 치환이 된

 

다고 합니다. 이렇게 만들어진 것을 매크로 상수라고 하고 뒤의 값은 공백까지 포함하여 존재 할수 있다고 합니다.

 

const선언과 마찬가지로 프로그래머가 소스코딩을 짤 때 변경되어서는 안되는 값을 변경 시키는 실수를 할때 사용 되게 되는데요  컴

 

파일러에서 상수의 값을 프로그램의 중간에서 바꿀려고 할 때에는 에러를 보냅니다.

 

그럼 여기서 const와 %define의 차이점이 무엇인지 궁금하실 텐데요 #define은 선언을 할때에 type형을 기록하지 않고 const는 type

 

형을 기록해 준다고 합니다. 그래서 const의 변수형을 지정할 수 있다는 점 때문에 #define 보다 더 안전하다고 합니다. 그래서 꼭

 

#define만이 할 수 있는 작업환경이 아니라면 const를 쓰시는 것을 추천한다고 합니다.

 

그리고 주로 #define을 사용할때 한줄 코딩을 자주 사용하시는데 제가 여러줄로 코딩하기 위해 알아 보았는데 밑에 보이는 사진 처럼

 

끝 문장에 \를 붙여주시면 됩니다.

 

'C언어 > 유용한 것' 카테고리의 다른 글

구조체  (0) 2013.03.07
다차원 배열  (0) 2013.03.06
포인터 대상의 const 선언  (0) 2013.01.23
서식문자의 종류와 그 의미  (0) 2013.01.17
특수문자의 종류  (0) 2013.01.17