int *p; p = (int *)malloc(40); if ( p == NULL) { /* 동적 메모리 할당이 실패 */ /* 적절한 조치를 취한다. */ } p[0] = 12; p[1] = 24; *(p+2) = 36; malloc이 반환하는 주소는 원래 타입이 없는 주소(void *)이다. 정수들을 저장하기 위해서 이것을 int *로 변환한다. (반드시 필요한 건 아니다.) 할당 받을 메모리의 크기를 byte단위로 지정한다. 여기서는 10개의 정수를 저장하기 위해서 40바이트를 요청하였다. malloc으로 할당받은 메모리는 이렇게 보통의 배열처럼 사용한다. 첫번째 주소를 리턴해준다. 만약 주소를 잊어버리면 찾기 힘들기 때문에 malloc이 리턴해주는 주소를 보관할 저장소가 필요하다. 그래서 어떤 변..