본문 바로가기

C Language/Tip / Information

변수와 상수의 차이점

혹시 상수와 변수의 차이점이 뭔지 아세요??
뭐 크게 상수는 값이 바뀌지 않는다 변수는 값을 바꿀수 있다라고 알고 있는데..
내부에서는 어떻게 사용이 되어서 그렇게 되는지 알아 보겠습니다.
일단 상수는 메모리에 할당이 되지 않습니다. 그래서 값을 바꿀수가 없는 것 입니다.
그럼 어떻게 사용을 하는 것이냐면,

만약

const int con = 10;

이라고 적고 con을 사용을 한다면 컴파일러는 con을 이름으로 보는 것이 아니라 숫자인 10으로 인식을 합니다..

즉 우리는

printf("%d", con);

이라고 쓸지 몰라도.. 컴퓨터는

printf("%d", 10);
이라고 인식을 한답니다.

하지만 변수는 메모리의 한 부분을 변수의 크기만큼 할당을 받아서 그 공간에 값을 저장
할 것입니다.

그 할당되는 공간이 int    4바이트(모든 컴퓨터에서 그런 것은 아님)
                             char 1바이트

이렇게 됩니다.
그래서 할당을 받은 곳에 값이 저장이 되어 프로그램에서 사용을 하는 것입니다.

'C Language > Tip / Information' 카테고리의 다른 글

int main()과 void main() 무엇을 써야 될까?  (2) 2009.06.05
변수 명 적을때 유의점  (0) 2009.04.29
C 언어의 역사  (0) 2009.04.29
C 언어 특징  (0) 2009.04.29