khj15   5년 전

안녕하세요. 포인터를 공부하다가 동적 할당 부분에 대해 궁금한 점이 생겨서 질문드립니다.

da[1] - da[0] = 

da[2] - da[1] = 

da[3] - da[2] = 

da[4] - da[3] = 

for문으로 연속적으로 할당해주어서 20바이트의 차이를 보일줄 알았는데, 위의 값들이 계속 달라집니다.

Heap 영역 할당은 랜덤인가요?

djm03178   5년 전

da[x]는 포인터입니다. da라는 포인터에는 int *형들을 담을 수 있는 연속된 공간을 할당했지만, 그 공간 내에서 각 원소 (포인터)가 가지는 값은 불연속적일 수 있습니다. 더 정확하게는, malloc이 할당해주는 주소가 어디일지는 알 수 없습니다.

khj15   5년 전

구조는 이차원 배열과 비슷하지만, 메모리에서는 다르군요. 감사합니다.

댓글을 작성하려면 로그인해야 합니다.