[C언어] 리터럴(literal) 상수, 심볼릭(Symbolic) 상수

리터럴(literal) 상수


덧셈이라는 연산은 CPU에 의해서 진행이 된다.

CPU는 메인메모리상(RAM)에 존재하는 데이터들만 조작(연산)할 수 있다.


int val = 30 +40


30, 40이라는 정수가 메모리 공간에 상수로서 저장이 된다.

30, 40 처럼 변수와 달리 이름이 없는 상수를 가리켜 '리터럴(literal) 상수'라고 한다.



심볼릭(Symbolic) 상수 


이름을 지니는 상수로 표현하는 방법에는 const 키워드를 이용하는 방식과 매크로를 이용하는 방식 2가지가 있다.


const 키워드 + 자료명 상수


선언과 동시에 초기화 해야만 한다.


int형을 char형으로 바꿀때 일어나는 현상.

char형은 1바이트. int형은 4바이트이다. 이때 char형으로 대입하기 위해 '상위 비트의 손실'이 발생한다.

상위 3바이트를 단순히 버려버린다.