Struct의 size 이런 경우에는 8 + 4 + 2 = 14 bytes 일 거라고 예상하기 쉽지만 그 이유는 메모리 엑세스 패턴 때문에 컴파일러가 padding 패딩을 사이에 넣어주기 때문이다. 구조체 struct나 클래스 class의 경우에는 padding이 들어가게 되기 때문이다. 클래스/구조체 멤버 정렬 - padding _ 링크 Class의 size : function은 class의 size와 관계 없다. Cat 포인터를 저장하는 변수 catPtr를 하나 만들고 cat1의 주소를 넣어주고 catPtr 의 크기를 출력해보는 프로그램을 만들어보자. 포인터의 경우에는 타입과는 상관없이 항상 8 bytes를 갖는다. (64bit) -> 그 이유는, 포인터는 격자무늬 메모리 구조에서 각각의 주소를 나타..
변수타입
sizeof() : 변수의 사이즈를 알아내는 방법 예제) 1 byte = 8 bit. 컴퓨터는 0과 1로 동작하는데, 그 단위가 1bit. 8bit는 이런 0과 1로 동작하는 칸이 8개 있다는 의미. int 타입은 4byte 를 가지고 있다. a 변수를 할당하는 순간 4byte의 공간을 차지한다는 의미. 정수 short int long = 2 4 8 byte 양수정수에는 unsigned를 붙여주면 됨. 실수 float double = 4 8 byte cppreference에서 각 변수 타입의 크기를 체크해보면 이렇다. https://en.cppreference.com/w/cpp/language/types Fundamental types - cppreference.com (See also type for ..