C 메모리 할당
-
C언어 calloc()Visual Studio/C 기초 2013. 9. 10. 22:49
calloc() 함수도 malloc() 함수 처럼 메모리를 할당하는 함수입니다. 차이점은 malloc() 함수처럼 바이트 단위로 메모리를 할당하지 않고 어떤 데이터형을 단위로 해서 메모리를 할당합니다. void *calloc(size_t num, size_t size); size_t는 대부분의 컴파일러에서 unsigned와 같은 뜻을 가집니다. 인수num은 특정 형태를 가지는 데이터의 개수이고 size는 바이트 단위로 표현되는 데이터의 크기입니다. 메모리 할당이 성공적으로 수행되면 할당된 모든 메모리에는 0이 저장되어 정리되고, 함수는 첫 번째 바이트에 대한 포인터를 돌려줍니다. 만약 메모리 할당에 실패하거나 num 또는 size의 값이 0이라면 함수는 NULL값을 돌려주게 됩니다. 예제를 보겠습니다. ..
-
C언어 malloc()Visual Studio/C 기초 2013. 9. 6. 15:37
메모리 영역을 할당하기 위해 라이브러리 함수 malloc()를 사용합니다. 이 함수의 용도는 문자열을 저장하기 위한 메모리 영역을 할당하는 것으로 제한되지 않습니다. 남아 있는 메모리의 양을 확인하기 위해 malloc()함수를 사용해 보겠습니다. #include #include struct kilo{ struct kilo *next; char dummy[1022]; }; //1024바이트 단위의 구조체를 정의합니다. int freemem(void); main(){ printf("%dKB의 사용가능한 메모리가 남아있습니다.\n",freemem()); } int freemem(void) { int cnt=0; struct kilo *head, *current, *nextone; current=head=(st..