F.R.I.D.A.Y.

전처리 상수 VS 일반 상수 본문

DEV/C C++

전처리 상수 VS 일반 상수

F.R.I.D.A.Y. 2018. 4. 14. 20:09
반응형



#define CONST_VALUE 3		//전처리 상수

const int DEF_CONST_VALUE = 3;	//일반 상수



상수는 일반적으로 위와같이 define을 통한 전처리 상수와 변수 타입에 const를 붙여 상수를 만드는 식으로 사용하는데,


이 둘의 가장 큰 차이는 해당 상수 이름을 통해 배열을 만들 수 있는가 없는가이다.



#define CONST_VALUE 3
int const DEF_CONST_VALUE = 3;

int main(void) {
	int k[DEF_CONST_VALUE] = { 0, };	//사용 불가
	int r[CONST_VALUE] = { 0, };		//사용 가능

}



이렇게 상수를 통해 배열의 길이를 선언하면 배열 k는 오류를 나타내지만, 배열 r의 경우 전처리 상수를 이용해 길이를 정했기 때문에 r 배열은 문제 없이 넘어간다.


같은 상수이지만, 어떻게 선언되느냐에 따라 사용가능과 불가능이 갈린다.

728x90
반응형

'DEV > C C++' 카테고리의 다른 글

Q 공배수 출력  (0) 2018.04.15
수식으로 하트그리기  (0) 2018.04.14
바둑 죽은 돌 개수 구하기 for C  (0) 2018.04.14
값 받아서 그래프 그리기  (0) 2018.04.13
바둑 죽은 돌 개수 구하기  (0) 2018.04.08
Comments