-> 로
동 당 ¶
char *d;
d = (char*)malloc(sizeof(char)*100);
기 malloc(sizeof(char)*100);
메모리 느 곳 (sizeof(char)*100)byte만 공 당고 그 를 반다.
그리고 d는 char*기 때문 Casting (char*)malloc(sizeof(char)*100); 같 가 되 다.
것 char d [100] 같 변 법다.
것 char d [100] 같 변 법다.
char *d;
d = (char*)malloc(sizeof(char)*100);
같 더라 d[10] 같 배 근 가능다.
ex)것로 2 배 만들려면?
char **arrray, *d;
d = (char*)malloc(sizeof(char) * 100);
arrray = (char**)malloc(sizeof(d) * 100);
렇게 면 char array [100][100] 같 가 된다.
냐? ¶
int temp;
char *d;
scanf("d 배 기를 력.\n%d", temp);
d = (char*)malloc(sizeof(char) * temp);
같 를 는 기를 배 당 다.
C는 변 맨 므로 int d[temp] 같 로 다.(무데나 는 C++ 런 는 가능다.)
C는 변 맨 므로 int d[temp] 같 로 다.(무데나 는 C++ 런 는 가능다.)
결론 : 메모리 를 .
FREE 법 ¶
free(d); 를 로그램 되는 sizeof(char) * temp만 메모리를 OS 다 반다.
free는 가 만 가능다. 따라 array를 모두 free려면 for문 돌려 free(array[i]) 같 모두 free(array);를 다.
만 단 로그램는 렇게 가 다. 로그램 료면 OS가 가가기 때문.
나 대 로(랜동 놓 는 게 같 경)는 메모리 반 면 가 느려고 가메모리가 메모리를 때 메모리가 부 로그램 다 껐다 는 발 다.