C, C++
C 메모리 동적할당
Jcon
2022. 8. 16. 15:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
#include <stdlib.h>//malloc , free함수 사용을 위한 헤더 파일
int main()
{
//※ C 메모리 동적 할당
//malloc(size) : size바이트 수 만큼 할당하고 (void*)형으로 위치 반환.
//free(a); 동적으로 생성된 a의 공간을 반환
int *p; // malloc에서 반환한 주소를 담을 포인터
p = (int*)malloc(sizeof(int)); // malloc은 (void*)형을 반환하므로 형변환을 해주어야 한다!
if (p == NULL) // 메모리 할당 함수는 원하는 크기의 공간을 할당하지 못하면 NULL을 반환한다!
{
return;
}
free(p); // 메모리 반환
int *p2;
p2 = (int*)malloc(5 * sizeof(int)); //int[5]만큼의 메모리 공간 할당
p2[2] = 1; //배열처럼 사용 가능
}
|
cs |