Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 형변환
- end up ing
- html
- 명세기반테스트
- C++
- sort함수
- keep -ing
- 제5인격
- gameQA
- if조건절
- 게임QA
- ISTQB
- know
- by until
- I'm glad
- happen to
- UE4
- by any chance
- counldn't have
- 코로나19
- 변수
- continue to
- for ing
- it's a good thing
- relif
- metascore
- 명절 표현
- might have p.p
- Realtime Rendering
- java
Archives
- Today
- Total
Records rather than Memories
[C++] 변수의 초기화와 할당 본문
프로그래밍에서 가장 기초가 되는 변수(variables)의
초기화(initialization)와 할당(assignment)에 대해 알아보자.
컴퓨터 내에서 관점에서 보면 변수는 RAM이라는 메모리에서 특정 위치에 할당된다.
변수
- 변수를 만들기 위해 가장 먼저 정의가 필요한데 다음과 같이 선언함으로써 이루어진다.
1
|
int x;
|
cs |
변수 x를 정수 값을 가지는 변수로 정의했다.
다음 명령문이 실행되면 변수 x에 특정한 메모리 위치가 지정되고 표현식이나 명령문에서 변수 x가 필요할 때마다 해당 특정 메모리 위치를 참조할 것이다.
다음 명령문이 실행되면 앞서 지정한 메모리 위치에 10이라는 값을 입력하게 된다.
L-value, R-value
대입연산자(=)를 기준으로 습관처럼 왼쪽은 변수명 오른쪽은 값을 작성한다. 따라서 왼쪽에 위치하면 L-value 오른쪽에 위치하면 R-value라고 생각할 수 있다. 하지만 해당 구조를 뜯어보면 L-value는 메모리상에 주소를 가진 값으로 지속된 주소를 가지기 때문에 변수가 되고 반면 R-value는 주소와 관련이 없는 값으로 표현식이 종료되면 존재하지 않는 임시적인 값이다.
1
|
x = x + 1;
|
cs |
일반적인 변수의 초기화와 할당은 간단하지만 다음과 같은 경우는 조금 헷갈린다.
다음 예제에서 R-value는 x가 가진 값을 생성하는 x와 그 값에 1을 더한 값이 된다.
초기화
변수는 정의한 후 = 오른쪽에 값을 할당함으로써 초기화할 수 있다.
1
|
int x = 10;
|
cs |
'Software > C' 카테고리의 다른 글
[C++] 키워드(keyword)와 식별자(naming identifiers) (0) | 2019.12.29 |
---|---|
[C++] cout, cin, endl (0) | 2019.12.28 |
네트워크 플로우(Network flow (0) | 2019.12.22 |
위상 정렬(Topology Sort) (0) | 2019.12.13 |
플로이드 와샬(Floyd Warshal) 알고리즘 (0) | 2019.12.11 |
Comments