336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. malloc.h 에 포함되어 있습니다.


2. memory allocation 의 약자 입니다.


3. 힙 영역에 메모리를 할당하는 함수 입니다.


4. 리턴된 값은 void 포인터이고 파라메터값은 정수 형태의 할당할 크기 입니다.

(나중에 void 포인터에 대해서 이야기 할 것 이지만 지금은 그냥 사용을 위해서는 반드시 캐스팅을 해야 한다로만 정의하고 넘어가도록 하겠습니다.)



목표:

문자열의 크기 만큼을 할당하고 문자열을 카피 한다.




소스코드 : main.c

#include <stdio.h>

#include <string.h>

#include <malloc.h>

int main(void)

{

unsigned char* pString = "Hello JunmoZzi";

unsigned char* pBuffer = NULL;

int nLength = strlen((const char*)pString) + 1;// "\0"문자 널까지 포함해서 1 입니다.

pBuffer = (unsigned char*)malloc(nLength);


if (pBuffer == NULL)

{

puts("Failed Memory Allocation!");

return 0;

}


memcpy_s(pBuffer, nLength, pString, nLength);


puts(pString);

puts(pBuffer);


if (pBuffer)

{

free(pBuffer);//메모리 할당했으면 반드시 해제 해준다.

}

return 0;

}



결과



#c언어, #c언어입문, #프로그램입문, #malloc, #메모리동적할당


+ Recent posts