일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- DirectXTK
- Direct3D Init
- RenderTargetView
- Direct3D
- View
- 게임수학
- 동기화
- 전처리문
- DESC
- DirectX12
- 다중표본화
- GPU
- DirectX
- Direct Init
- Input Assembler
- vertex
- CPU
- C++
- swapchain
- c
- 프로그래밍
- UE4
- 코딩
- engine
- 다이렉트X 튜토리얼
- 다이렉트X
- C언어
- CommandList
- 세팅
- 다이렉트 초기화
- Today
- Total
비타Cpp
변수(Variable)와 상수(Constant) - (2) 본문
이번에는 변수(Variable)에 대해서 알아보겠습니다.
상수가 고정된 변하지 않는 값을 나타낸다면, 변수는 그 반대인 변할 수 있는 값을 의미합니다.
변수는 몇 번이고 재정의가 가능합니다.
(변수는 별로 설명할 게 없네요 ㅎ...)
그러면 변수와 상수를 코드상에서 어떻게 사용하는지 알아보겠습니다.
일단 먼저 상수는 전처리 문을 사용하는 방법과 const라는 키워드를 이용하는 두 가지 방법이 있습니다.
#define PI 3.14
const float pi = 3.14;
결과는 똑같이 변하지 않는 3.14의 값을 가지는 상수 2개가 생깁니다.
하지만 약간의 차이가 있습니다.
#define은 전처리 문으로써 전처리기가 컴파일 전에 먼저 3.14로 치환해버리고 끝입니다.
const 상수는 작동 메커니즘이 일단 변수와 동일합니다.
변수는 생성될 때 메모리에 공간이 할당되고 그 공간에 값이 저장되는데 const도 일단 공간이 할당이 되고 그곳에 값이 저장됩니다. 그리고 그 이후로는 컴파일러가 감독하여 값을 바꿀 수 없게 합니다.
즉 메모리가 할당되느냐 안되느냐 차이와 사용 문법이 다른 정도입니다.
그래도 상수를 사용할 때는 타입까지 알려주는 const를 사용하는 게 더 바람직합니다.
앞에서 변수는 메모리가 할당된다고 말씀드렸는데요.
변수의 사용 방법은 기본적으로 "타입명 + 변수 이름" 형식으로 선언할 수 있습니다.
int Value;
이렇게 작성하면 Value라는 변수가 생성되죠.
하지만 초기화를 해주지 않았기 때문에 Value안에는 쓰레기 값이 들어있습니다.
변수를 사용 하기 위해서는 초기화라는 과정을 거쳐야 합니다.
사실 심볼릭 상수를 만들 때도 마찬가지로 초기화를 했었습니다. 하지만 상수는 선언과 초기화가 동시에 이루어져야 하지만, 변수는 따로 해도 상관없습니다.
int Value;
Value = 10;
int Value = 10;
int Value(10);
이러한 방식으로 선언과 초기화를 할 수 있습니다.
이렇게 되면 Value라는 변수의 메모리 안에는 10이라는 정수 값이 저장되게 됩니다.
앞에 붙은 int가 Value가 Integer(정수) 타입이라고 명시해주는 타입명입니다.
다음 글에서는 여러 가지 기본 타입명들에 대해서 알아보겠습니다.
'C,C++' 카테고리의 다른 글
C의 기본타입들..(2) (0) | 2019.11.26 |
---|---|
C의 기본 타입들..(1) (0) | 2019.11.11 |
변수(Variable)와 상수(Constant) - (1) (0) | 2019.10.23 |
printf() (0) | 2019.10.21 |
main() (0) | 2019.10.19 |