본문 바로가기
프로그래밍언어/C언어

상수란 무엇인가? - 상수란?

by J코딩 2021. 8. 30.
반응형

이번에는 상수에 대해서 알아보겠습니다.

변수와 상수의 차이점을 위해서 원의 넓이를 구하는 예시로 설명하겠습니다.

 

원의 넓이 = (원의 반지름) X (원의 반지름) X (원주율)

여기에서 반지름의 주어진 문제에 따라 항상 변할 수 있기 때문에 원의 반지름은 변수라고 할 수 있습니다.

https://jcoding7.tistory.com/entry/%EB%B3%80%EC%88%98-%EC%84%A0%EC%96%B8%ED%95%98%EA%B8%B0-%EB%B3%80%EC%88%98%EB%9E%80

 

변수 선언하기 - 변수란

가정에서 사용한 가정용 분리수거함의 용도를 생각하면 분리수거할 것을 담아두는 임시 저장 공간의 성격이 짙습니다. 컴퓨팅 세계에서 가정용 분리수거함과 같은 역할을 하는 것이 변수입니

jcoding7.tistory.com

그러나, 원주율 3.14는 변하지 않습니다. (원주율이 변한다면, 전 세계적가 혼돈에 빠지게 될 것입니다.) 이렇게 상황에 따라 다른 값을 가질 수 있는 변수와 달리 상수는 어떤 상황에서도 변하지 않는 값을 의미합니다.

다음 예제를 통해서 이해하도록 하겠습니다.

5행에서 r변수에 3 저장합니다.

8행에서 PI상수에 3.14 저장합니다.

11행에서 r에 저장되어 있는 3과 PI에 저장되어 있는 3.14를 가지고 와서 계산한 후(3 * 3 * 3.14) 출력합니다.(28.26000)

14행에서 r변수에 3 대신 5를 대입하여 저장합니다.

17행에서 r에 저장되어 있는 3과 PI에 저장되어 있는 3.14를 가지고 와서 계산한 후(5 * 5 * 3.14) 출력합니다.(78.50000)

20행에서 PI에 저장되어 있는 3.14 대신 3.14159 값을 저장하려고 하였으나, PI는 상수여서, 값이 변경되지 않고, 아래와 같이 assingment of read-only variable 'PI' 에러가 발생합니다. 

이는 PI는 상수이기 때문에 변경할 수 없는 즉, 오로지 읽기만 가능한 변수라는 의미인데, 20행에서 그 값을 변경할려고 하니 발생하게 되는 것입니다.

반응형

댓글