#include<stdio.h>
#include<stdlib.h>
int main()
{
char * arr = (char*)malloc(20);
printf("%d", sizeof(arr));
free(arr);
return 0;
}
그냥 heap에 동적할당해서 그 메모리 전체 크기 알아보려고 짜본건데
왜 20바이트가 아니라 4바이트로 나오는거야? 난 20바이트를 예상했는데
배열의 이름이 배열의 전체 크기 알려주는거 아니야?
이거 원래 안되는거면, 이방법말고 heap에 할당한 메모리 크기 아는법 없어?
Pointer variable size
그러게 왜 포인터 변수 크기가 나오지? ...
포인터부터 다시 배워
동적 할당은 원래 총 크기 못 셈
C땔감이군. 포인터는 주소를 담는 변수라서 32비트에 4바이트지
따로 size 변수 하나 둬서 거따 저장하거나 해야지
http://stackoverflow.com/questions/5451104/how-to-get-memory-block-length-after-malloc
채택된
답이 정확하게 설명해주네
안녕하세요 수제화 구두 사이트 입니다. 네이버 다음 줌에서 퍼스트구두를 검색하고 자주 놀러와주세요.감사합니다.