헤더파일 : stdlib.h 

 

 

void * malloc (uint32_t byte_size)

반환값 

성공시 생성된 주소 포인터 

실패시 NULL 

 

void free(void * ptr)

- malloc 으로 생성된 메모리 영역 제거하는것. 

 

 

 

malloc, free 사용예. 

 

1차원 배열 동적 생성

//예 uint8_t 1차원배열 100개 동적 생성. 

uint8_t *  pui8Arr;   

pui8Arr = (uint8_t*)malloc(sizeof(uint8_t)*100);  

// 상기 생성된 메모리블럭 지우기. 

free((void*)pui8Arr); 

 

2차원 배열 동적 생성 

//예 uint8_t 2차원배열 [5][9]  동적 생성. 

uint8_t **  ppui8Arr;   

ppui8Arr = (uint8_t**)malloc(sizeof(uint8_t*)*5);  // 배열 첫인덱스에 해당하는것 동적생성. 

for(int idx = 0; idx < 5; idx++)
{
    ppui8Arr[idx] = (uint8_t*)malloc(sizeof(uint8_t) * 9); //각 배열 첫인덱스별각각별로9개의 uint8_t 
}

// 상기 생성된 메모리블럭 지우기. 
for(int idx=0; idx<5; idx++)
{
    free(ppui8Arr[idx]);  
}
free(ppui8Arr);

 

 

 

 

 

연관 

 

 

 

C/C++. 구조체 메모리 동적 할당.

// 정적 구조체 배열 생성예. typedef struct _st1 { uint8_t ui8Arr[100]; }ST_T1 ST_T1 myST_T1[5][9]; // 구조체 ST_T1 을 2차원 배열 5x9 짜리로 생성하는것. ST_T1 의 멤버 1차원 배열을 동적생성 상기와 같..

igotit.tistory.com

 

 

C/C++. 메모리 스택, 힙,지역변수, 동적 메모리 할당. stack, heap, new, delete

스택(Stack), 힙(Heap) C/C++ 에서의 스택이니, 힙이니 하는 것들은 C/C++ 컴파일러에서 메모리 핸들링 하는 것에 대한 기능적 메모리 구분 명칭. (타겟 시스템에 하드웨어적으로 스택, 힙 영역의 메모리가 따로..

igotit.tistory.com

 


첫등록 : 2019년 3월 21일 

최종수정 : 2019년 12월 28일 

 

본 글 단축주소 : https://igotit.tistory.com/2094

 


 

 

 

Posted by 리치굿맨

댓글을 달아 주세요