#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);
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()�� ���� �ʱ� ȣ��� ��ȯ�Ǿ�� �Ѵ�.
free() �� � ���� ��ȯ���� �ʴ´�.
realloc() �� ���� �Ҵ�� �� ����Ű�� ������ ��ȯ�ϸ� �� �� � ������ ������ ���� ������ ���ĵǸ� ptr���� �ٸ� ���̴�. ���� �ʰ�, ���� �䱸�� �����ϰų� ũ�Ⱑ 0 �̶�� NULL �� ��ȯ�Ѵ�. ���� realloc() �� �����Ѵٸ� ���� ������ �ǵ帮�� �ʰ� �����ִ� -- �����ǰų� �̵����� �ʴ´�.
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() �� ��� ȣ��ȴ�. �̰��� �����ϴ�. �ֳ��ϸ� ũ������ ���߿� ������̰� ������ ������ ã�ư��°��� �ſ� ��������� �����̴�.