malloc으로 int형 길이3짜리 메모리 할당했는데
왜p[5], p[6]이 입출력이 제대로 되는거임?
int main(){
int* p;
p = (int *)malloc(3*sizeof(int));
p[0]=1, p[1]=2, p[5]=6, p[6]=7;
printf("%d\n%d\n%d\n", p[0], p[6], p[5]);
printf("%d", _msize(p));
malloc으로 int형 길이3짜리 메모리 할당했는데
왜p[5], p[6]이 입출력이 제대로 되는거임?
os paging 개념 참고
내부 단편화때문인거임? 아니면 Heap segment에 malloc으로 공간을 할당하고, 추가 입력된 부분에 대해서 할당 공간이 부족하기 때문에 Heap segment size를 키운다는거임? 초보자인 내가 검색하면서 추린건 이거 둘 중 하나인거같은데.. 혹시 알려줄수있어?
Os 뭐쓰는데
윈도우