반응형
1) 함수 종류 및 설명.
아래 링크로 가시면 좀더 자세히 나와있습니다. 아래 링크가 이번에 작성한 내용입니다.
2018/10/31 - [<개인공부>/[C언어 & C++ 언어]] - [C 언어] 동적할당 정리2 (malloc, free 예제)
- 프로그램 실행 도중에 필요한 메모리 공간을 할당하고 사용 후 해당 공간을 해제하는 것.
- 헤더파일 : <stdlib.h>
- 메모리 할당 함수 - malloc
메모리 할당 및 초기화 - calloc
- 메모리 추가 할당 - realloc
- 메모리 해제 함수 - free.
2) 함수 원형
void *malloc(size_t size);
- 할당받을 메모리 크기를 인자로 받음
- ex) int * arr = (int *)malloc(sizeof(int) * n); //인자의 갯수가 n개의 배열을 동적할당한다(그만큼의 메모리를 할당한다.)
void *calloc(size_t nelem, sizeo_t elsize);
- 첫번째 인자 배열요소 갯수, 두번째 인자 각 배열요소 사이즈
- 할당된 메모리 0으로 초기화
void *realloc(void *ptr, size_t size);
- 이미 할당받은 메모리에 추가로 메모리 할당, 이전 메모리 주소 없어짐.
void free(void * ptr);
- 할당한 메모리를 해제한다.
- 할당한 메모리를 제대로 해제 해주지 않으면, 메모리 누수(메모리 릭)이 발생할 수 있다.
- free(arr); //malloc으로 메모리를 할당한 메모리를 해제한다.
반응형
'<개인공부> > [C언어, C++]' 카테고리의 다른 글
[C언어/C++] rand, srand, time 랜덤함수에 대해서 (난수생성) (37) | 2019.01.11 |
---|---|
[C언어/C++] pow, sqrt 함수에 대해서(루트함수, 제곱, 제곱근) (4) | 2019.01.04 |
[C언어] 동적할당 정리2 (malloc, free 예제) (3) | 2018.10.31 |
[C언어/C++] assert 함수에 대해서 : 디버깅을위한, 더 안전한 코드를 위한 오류 검출 방법 (2) | 2018.10.24 |
[C언어/C++] define 매크로와 inline 함수에 대해서 (3) | 2017.11.03 |
[C언어/C++] clock 함수를 통한 알고리즘 시간 측정 (0) | 2017.10.19 |
[C언어/C++] 올림, 내림, 반올림 (floor, ceil) 함수 (8) | 2017.08.11 |
[C언어] 배열포인터, 포인터배열 정리 (pointer) (19) | 2017.07.14 |