calloc()
이 malloc
에 이어 memset
에 이어 지는지 궁금합니다. 후자는 메모리를 할당하고 초기화하는 가장 일반적인 방법 인 것으로 보입니다.malloc() 및 memset() 대신 calloc()을 사용하면 어떤 이점이 있습니까?
github code search은 많은 테스트와 구현을 나타내지 만 첫 번째 페이지에는 실제로 calloc
을 사용하는 코드가 없습니다.
calloc
을 사용하거나 권장하는 프로젝트/조직을 알고있는 사람과 권장하는 환경이 있습니까?
, 여기에 몇 가지 지금까지 가지고있는 생각 나타난다입니다 :
calloc(n, size)
는malloc(n * size)
이 의 malloc 및 memset 함수를 결합 가능합니다 오버 플로우를 방지 할 수calloc에게 이미 제로 된 것으로 알려진 페이지를 요청할 기회를줍니다.
단점
결합 단계 의 malloc 주위 다른 랩퍼를 배제 할 수있다은 calloc한다.
아무도 그것을 사용하지 못했고, 그것의 존재를 알고 있음에도 불구하고 그것을 사용하지 못했습니다. 왜 그런지는 모르겠지만 C처럼 느껴지지 않습니다. – Dave
'malloc()'과'memset()'이 사실상'calloc()'보다 느릴 수 있습니다. –
GitHub에서'malloc'을 검색하면 사용법을 찾기 전에 구현과 테스트 코드를 찾을 수 있습니다. –