본문 바로가기

BackEnd/C

상수의 표현

반응형

1.  상수의 이해


변수는 변경이 가능한 수를 의미하는 반면, 상수는 변경이 불가능한 수를 의미한다.



위 예시를 보면 2+5를 연산을 위해서는 cpu에 의해서 상수 2와 5가 인식이 되어야 한다.


그러기 위해서는 2와5라는 상수 값이 메모리공간 어딘가에 저장이 되어야 한다. 


왜냐하면 cpu는 메모리 공간에 저장된 값을 가져다가 연산을 하는 것이기 때문이다



2. 상수를 저장하기 위한 자료형의 결정


그렇다면 위와 같은 상수를 저장하기 위해서는 변수 처럼 자료형이 결정되어야 한다. 


상수의 자료형의 결정은 다음 2가지로 나눌 수 있다.


1) 정수인지? 실수인지?

2) 저장크기가 몇인지?


결론적으로 상수 같은 경우 이러한 자료형은 알아서 결정된다.


정수형 상수는 int 로 실수형 상수는 double 로 약속해서 표현된다.


3. 접미사를 이용한 상수 자료형 변경


접미사를 이용해서 상수의 자료형을 변경할수 있다 다음 예를 봐보자



3.14에 f를 붙임으로써 double자료형을 float로 변경하였다.


1) 정수형 상수에 붙일 수 있는 접미사들



2) 실수형 상수에 붙일 수 있는 접미사들



4. 리터럴 상수


변수와 달리 별도의 이름을 갖지 않는 숫자,상수를 가리켜 리터럴 상수라 한다.


리터럴은 "글자 그대로"  라는 뜻을 가지고 있다. 리터럴에 상수의 의미가 포함된다.



리터럴 상수는 메모리 공간을 할당안해도 자동적으로 잡아준다. 


10이라는 숫자 그 자체로서 정수형 데이터가 되는거다. 오리지날 상수라 생각하자.





5. 심볼릭(const)상수


심볼릭 상수는 이름을 갖는 상수이다. 



위와 같이 메모리 공간에 MAX_LEN의 변수라는 이름도 부여를 하고 CONST키워드를 선언하면 


변수에 저장된 값을 변경할수 없다. 즉 상수화 시킨것이다.


MAX_LEN은 369라는 숫자를 의미하는 상수이다. 심볼릭은 "의미하는", "상징하는" 이라는 뜻이다.




6. 정수형 상수의 자료형 결정 기준    


정수형 상수는 기본적으로 int형으로 표현되는 것은 맞다. 


하지만 int형으로 표현할 수 있는 값의 범위를 넘어서는 상수라면 long형의 선택이 고려된다.


아래의 그림을 참고하자.



반응형

'BackEnd > C' 카테고리의 다른 글

산술 연산자를 통해서 보는 연산의 원리  (0) 2018.12.10
상수의 이해  (0) 2018.12.05
적절한 자료형의 선택기준  (0) 2018.12.05
실수 자료형  (0) 2018.12.05
정수 자료형  (0) 2018.12.05