CH03. 저수준 계층? 메모리라는 사물함에서부터 시작해보자
3.1 메모리의 본질, 포인터와 참조
3.1.1 메모리의 본질은 무엇일까? 사물함, 비트, 바이트, 객체
- 비트(bit): 메모리셀에 보관되는 0 또는 1
- 바이트(byte): 비트 여덟개를 묶어 정보를 나타내는 하나의 단위
- 일반적으로 4바이트를 묶어 하나의 정수를 표현 int형 변수의 크기는 4바이트
- 메모리 주소: 메모리 내 바이트 고유의 주소
- 구조체(structure), 객체(object): 3개의 정보를 나타내는 12바이트를 사용하여 정보를 조합하여 표시
3.1.2 메모리에서 변수로: 변수의 의미
메모리 주소를 숫자로 사용하면 값인지 메모리 주소인지 모르기 때문에 해석이 모호하므로, 이 둘을 구분하기 위해 숫자에 특별한 기호($)를 붙인다.
변수: “메모리 주소 N”이라는 표현은 익숙하지 않으므로 이 주소를 나타내는 다른 이름을 붙인다.
- 저장된 값을 나타내는 동시에, 이 값이 저장된 메모리 주소를 나타낸다.
변수 a에 또다른 변수 b를 할당한다면?
- a 변수가 1바이트의 숫자 데이터라면 완전히 복제
- 메모리를 많이 차지하는 구조체나 객체라면?
3.1.3 변수에서 포인터로: 포인터 이해하기
변수는 메모리 공간 크기와 무관하게, 하나의 숫자인 메모리 주소만 알고 있으면 해당 데이터를 찾을 수 있다.