malloc, calloc은 무슨 차이가 있나요?


  1. ptr = (char **) malloc (MAXELEMS * sizeof(char *));
  2. ptr = (char **) calloc (MAXELEMS, sizeof(char*));

둘 다 쓰는 방법도 비슷하고, return 되는 크기도 같은데 왜 따로 있는 건가요? 둘의 차이를 모르겠습니다.

  • 2016년 01월 29일에 작성됨

조회수 223


1 답변


좋아요
0
싫어요
채택취소하기

calloc()은 버퍼를 0으로 초기화시키고, malloc()은 메모리를 초기화하지 않습니다.

메모리를 전부 0으로 초기화시키는 작업은 시간이 좀 걸리기 때문에 특별한 이유가 있지 않고서야 보통 malloc()을 많이 씁니다.

  • 2016년 01월 29일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close