아주 초보적인 질문입니다
int *ptr
int형 포인터 변수를 선언하였습니다. sizeof 해보면 4바이트인 것을 알 수 있습니다
ptr = (int *)malloc(sizeof(int));
ptr 포인터변수에 4바이트 만큼의 공간을 할당하였습니다.
============ 그런데 여기서 질문입니다 ===========
제가 이해하기로는 위 작업을로 ptr에 할당된 메모리는 주소공간 4byte + malloc으로 한 데이터공간 4byte 합이 8byte라 생각하였습니다.
제가 생각한 것이 틀린건지
ptr[1] = 3;
ptr[2] = 4;
이런것들이 모두 segmentation fault 없이 잘 동작하던데 그럼 제가 생각한 8byte의 메모리할당이 아닌것인데...
이건 뭐 int ptr[9999999999]와 같은건데...
위에 제가 생각한 것중 어느부분이 틀린것인가요??