동적할당 정의
값을 저장할 메모리 공간의 크기를 고정해놓는 것이 아닌(정적할당)
프로그램 실행 후 적정한 크기를 지정하는것
동적할당 배열 만들기
헤더 추가
#include<stdlib.h>
자료형*malloc(할당받을 메모리 크기)
1) 1차원 배열
int size=4;
int *Arr;
Arr=(int*)malloc(sizeof(int)*size);
할당 해제
free(Arr);
2) 2차원 배열
int height = 6, width = 8;
int **arr;
arr = (int**) malloc ( sizeof(int*) * height );
for(int i=0; i<height; i++)
{ arr[i] = (int*) malloc ( sizeof(int) * width ); }
할당 해제
for(int i=0; i<height; i++)
{ free(arr[i]); }
free(arr);
동적할당된 배열 크기 구하기
int size = _msize(포인터변수)/sizeof(*포인터변수)
int arrSize = _msize(arr)/sizeof(int);
+주의) _msize는 비표준함수이다~~
'개발' 카테고리의 다른 글
플로이드 와샬 알고리즘(Floyd Warshall) (1) | 2024.11.18 |
---|---|
[프로그래머스] 피로도 (C++) (0) | 2024.11.18 |
[프로그래머스] 모의고사 (C++) (0) | 2024.11.16 |
다익스트라 알고리즘 (Dijkstra) (0) | 2024.11.15 |
포트포워딩 (0) | 2023.11.28 |