MALLOC

Section: ������ ���α׷��� �Ŵ��� (3)
Updated: 1993�� 4�� 4��
Index
Return to Main Contents
 

�̸�

calloc, malloc, free, realloc - ���� �޸� �Ҵ� �� ����  

����

#include <stdlib.h>

void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);
 

����

calloc() �Լ��� ������ ũ�Ⱑ size ����Ʈ�� nmemb ���� ���ҷ� �̷���� �迭�� ���� �޸𸮸� �Ҵ��ϰ� �Ҵ�� �޸𸮿� ���� �����͸� ��ȯ�Ѵ�. �޸𸮸� 0 ���� �����ȴ�.

malloc() �Լ��� size ����Ʈ�� �Ҵ��ϰ� �Ҵ�� �޸𸮿� ���� �����͸� �Ҵ��Ѵ�. �޸𸮸� Ŭ�������� �ʴ´�.

free() �� malloc(), calloc() �Ǵ� realloc()�� ���� ȣ��� ��ȯ�Ǵ� ptr�� ����Ű�� �޸� ������ �����Ѵ�. �׷��� �ʰ�, ���� free(ptr) �� ���� �̹� ȣ��Ǿ��ٸ�, ���ǵ��� ���� �ൿ�� �Ͼ��. ���� ptr �� NULL�̶��, � �۵��� �������� �ʴ´�.

realloc() �Լ��� ptr �� ����Ű�� �޸� ������ ũ�⸦ size ����Ʈ�� �ٲ۴�. ������ ������ �ּ� ũ�⿡�� �� ũ��� �ٲ��� �ʴ´�. ���Ӱ� �Ҵ�� �޸𸮴� �ʱ�ȭ���� �ʴ´�. ���� ptr �� NULL�̶��, ȣ���� malloc(size)�� �����ϴ�; ���� ũ�Ⱑ 0 �̶��, ȣ���� free(ptr) �� �����ϴ�. ���� ptr �� NULL�� �ƴ϶��, �� �Լ��� malloc(), calloc() �̳� realloc()�� ���� �ʱ� ȣ��� ��ȯ�Ǿ�� �Ѵ�.  

��ȯ��

calloc() �׸��� malloc()�Լ� ����, ��ȯ ���� �Ҵ�� �޸𸮸� ����Ű��, �̰��� � ������ ������ ���� ������ ���ĵȴ�. ���� �䱸�� �����ϸ�, NULL �� ��ȯ�ȴ�.

free() �� � ���� ��ȯ���� �ʴ´�.

realloc() �� ���� �Ҵ�� �޸𸮸� ����Ű�� �����͸� ��ȯ�ϸ� �� �޸𸮴� � ������ ������ ���� ������ ���ĵǸ� ptr���� �ٸ� ���̴�. �׷��� �ʰ�, ���� �䱸�� �����ϰų� ũ�Ⱑ 0 �̶�� NULL �� ��ȯ�Ѵ�. ���� realloc() �� �����Ѵٸ� ���� ������ �ǵ帮�� �ʰ� �����ִ� -- �����ǰų� �̵����� �ʴ´�.  

ȣȯ

ANSI-C  

���� �׸�

brk(2)  

����

Unix98 ǥ���� ���н� errno �� ENOMEM���� �����ϵ��� malloc(), calloc(), �׸��� realloc() �� �䱸�Ѵ�. Glibc�� �̷��� ������ ������ �����ȴ�(�׸��� �� ��ƾ���� glibc ������ �̰��� �Ѵ�); ���� �������� errno�� �������� �ʴ� �������� malloc ������ ����Ѵٸ�, ���̺귯�� ��ƾ���� errno�� �����°� ���� �������� ������ ���̴�.

malloc(), free() �Ǵ� realloc() �Լ����� ũ������ �Ҵ�� ������ ���� �÷ο쳪 ���� �����͸� �ι� ���� �ϴ°Ͱ� ���� �� ������ �׻� ������ �ִ�.

Linux libc (5.4.23 ����)�� �ֱ� ������ GNU libc (2.x) ������ ȯ�� ������ ���� �����Ҽ� �ִ� malloc ������ �����Ѵ�. MALLOC_CHECK_ �� �����Ǿ��ٸ�, Ư����(�� ȿ����������) �ൿ�� ��������, �̰��� ���� ���ڸ� ������ free() �� �ι� ȣ���ϰų� ���� ����Ʈ(off-by-one ����)�� �ʰ� ���� ������ ������ ���� ������ ���� �����εǾ���. �׷��� �׷� �������� �׻� ��ȣ������ ������ �޸� ���� ����� �ִ�. ���� MALLOC_CHECK_ �� 0 ���� �����ϸ�, �߰ߵ� �� ������ ���õȴ�; ���� 1 �� �����ϸ�, ������ stderr�� ��µȴ�; ���� 2 �� �����ϸ�, abort() �� ��� ȣ��ȴ�. �̰��� �����ϴ�. �ֳ��ϸ� ũ������ ���߿� ������̰� ������ ������ ã�ư��°��� �ſ� ��������� �����̴�.  

����

������ <skyeyes@soback.kornet.net>, 2001�� 3�� 11��


 

Index

�̸�
����
����
��ȯ��
ȣȯ
���� �׸�
����
����

This document was created by man2html, using the manual pages.
Time: 08:07:01 GMT, March 25, 2004