동적 할당 메모리 개념
- 프로그램이 메모리를 할당받는 방법
정적(static)
동적(dynmic)
정적 메모리 할당
그냥 기본적인 방법
- 프로그램이 시작되기 전에 미리 정해진 크기의 메모리를 할당 받는 것
- 메모리의 크기는 프로그램이 시작하기 전에 결정
ex) int score_s[100];
- 처음에 결정된 크기보다 더 큰 입력이 들어오면 오류!
- 더 작은 입력이 들어오면 메모리 낭비!
동적 메모리 할당
- 실행 도중에 동적으로 메모리를 할당받는 것
- 사용이 끝나면 시스템에 메모리를 반납
ex) score = (int ) malloc(100sizeof(int));
- 필요한 만큼만 할당 받고 메모리를 매우 효율적으로 사용

malloc : 동적 메모리 할당
calloc : 0으로 초기화된 동적 메모리
realloc : 동적 메모리 볼록의 크기 수정
연결리스트
배열 : 구현이 간단하고 빠르다. 하지만 크기가 고정된다. 중간에서 삽입 삭제가 어렵다. 정적으로 구현되어있다.
연결리스트 : 포인터를 사용하여 다음 항목을 가르킨다. 랜덤 접근이 어렵다.
중간에 데이터를 삽입, 삭제가 쉽다.
구현하기 어렵다. 중간에 있는 데이터를 빠르게 가져올수있다.
동적으로 구현되어있다.