응애맘마조

상수 본문

공부/개인

상수

TH.Wert 2023. 4. 5. 22:40

상수는 이름이 있는 상수와 이름이 없는 상수로 나눌 수 있고 int, double 같은 자료형으로 표현이 됩니다.

위의 코드는 덧셈을 하는 코드입니다.

먼저 정수 1과 2가 상수의 형태로 메모리에 저장이 됩니다.

1 + 2 덧셈이 됩니다.

계산의 결과로 얻어진 3이 num 변수에 저장이 되고 출력이 됩니다.

 

위처럼 1과 2에는 할당된 메모리 공간에 이름이 없습니다. 이렇게 이름 없는 상수를 가리켜 리터럴(Literal) 상수나 리터럴이라고 합니다.

위의 코드에서 변수는 num1, num2, num3, num4 해서 총 4개이고, 상수는 정수형 1, 2, 7이고 실수형, 3.0f, 5.5 해서 2개입니다.


다음은 이름을 지니는 심볼릭 상수로서 const 상수입니다. 변수 선언시 자료형 앞에 쓰면 됩니다. 하지만 상수이므로 선언과 동시에 초기화를 해야합니다.

MAX와 PI처럼 이름을 지니는 상수를 심볼릭 상수라고 합니다. 상수이기 때문에 초기화되면 값을 바꿀 수 없고 선언과 초기화를 분리할 수 없습니다.

위의 사진처럼 값을 변경하거나 선언과 초기화를 분리하면 컴파일 에러가 발생합니다.


심볼릭 상수 중에서 매크로를 이용하는 방법이 있습니다.

#define을 이용하는 방법인데 선행처리기가 이 부분을 보고 프로그래머가 지시하는 것을 파악하기 위해서 지시자라고 합니다. 그래서 위의 코드를 해석하면 매크로 PI를 전부 3.1415로 치환하라는 내용이 됩니다. 이를 매크로 상수라고 합니다.

 

매크로 함수의 장점으로는 일반 함수에 비해 실행 속도가 빠르고 자료형에 따라서 별도로 함수를 정의하지 않아도 됩니다. 하지만 정의하기가 까다롭고 디버깅하기가 어렵다는 단점이 있습니다.

 

그렇기 때문에 작은 크기의 함수나 호출의 빈도수가 높은 함수를 매크로로 정의하는 것이 좋습니다.

 

주의할 점은 변수와 상수를 구분하기 위해 상수의 이름은 전부 대문자로 표시하고 둘 이상의 단어를 연결할 때에는 언더바를 사용하는 것이 관례입니다.

 

읽어주셔서 감사합니다.

'공부 > 개인' 카테고리의 다른 글

참조자(Reference)  (0) 2023.04.10
포인터  (0) 2023.04.08
auto  (0) 2023.03.31
Call by value/address/reference  (0) 2023.03.30
extern  (0) 2023.03.29
Comments