변수의 속성
•
이름
•
값
•
타입
◦
타입 중에는 사이즈를 포함한 타입이 있다.
•
메모리 주소
•
사이즈
◦
변수 데이터의 끝점 : 메모리주소 + 사이즈
변수를 선언한다는 것의 의미
•
메모리상 어떤 부분에 값이 쓰일 것이다.
•
여기서 어떤 부분 = 메모리 번지
◦
즉, 모든 변수는 메모리 번지를 가지고 있다.
•
메모리 번지를 통해 값의 시작점을 알 수 있다. 하지만 어디까지 읽어야 하는지 그 끝점도 알아야 제대로 데이터를 읽어올 수 있다.
◦
즉, 데이터의 사이즈를 알아야 한다.
◦
끝점 = 메모리 주소 + 사이즈
변수에 값을 넣는 과정을 어셈블리어로 살펴보기
•
어셈블리 디버깅을 통해서 살펴볼 수 있다.
•
mov : 옮겨라 (=값을 이동해라)
•
dword : 4바이트
•
ptr [a] : 포인터 메모리 번지
•
3 : 3이라는 값을 써라
변수의 타입과 사이즈
int
•
int : 4/8 byte
•
int32 : 4byte
•
int64 : 8byte
•
int8 : 1byte
•
int16 : 2byte
float
•
float32 : 4byte
•
float64 : 8byte
사이즈가 없는 타입들
•
bool : true / false
•
string : “”