malloc/calloc tip, wrapper
calloc
```c
void *calloc(size_t nmemb, size_t size);
```
결과적으로 할당되는 크기는 ``c nmemb * size`` bytes다.
어차피 0으로 초기화 할거면, ``c malloc() + memset()`` 보다 ``c calloc()``을 사용하는게 더 빠르다.
kernel이 memory를 제공하기 전에 zero로 만들고 제공할 수 있기 때문.
malloc wrapper
```c
/* like malloc(), but terminates on failure */
void * xmalloc(size_t size){
void *p;
p = malloc(size);
if (!p) {
perror("xmalloc");
exit(EXIT_FAILURE);
}
return p;
}
```
'Languages & Frameworks > C C++' 카테고리의 다른 글
[C/C++] define, inline, const, enum, enum class (0) | 2017.09.04 |
---|---|
[C] the end of the address space check (0) | 2017.07.27 |
[C++] Namespace 네임스페이스 (0) | 2017.06.15 |
exec 계열 함수 (0) | 2017.05.01 |
fork - exec / wait +clone (0) | 2017.05.01 |