프로그램이 메모리를 할당받는 방법
- 정적(프로그램 시작 전 미리 정해진 크기의 메모리를 할당받는 방식)
- 동적(필요한 시점에 할당을 받고 필요없을 때 해제하는 방식)
c언어의 경우 malloc 함수와 free 함수를 사용한다.
c = (int *)malloc(20 * sizeof(int)); 명령을 실행하면 기존에 있던 c 에 있던 데이터들은 사라진다.
따라서 c에 있는 데이터를 d로 복사하고
c를 크기가 20인 메모리를 생성한 다음 d에 있던 데이터를 c에 옮긴다.
top은 데이터가 얼마만큼 들어갔는지 알려주는 변
스택이 비었으면 top 은 -1의 값을 가지고 만약 10개의 데이터가 삽입되어 있으면 top은 9의 값을 가지고 있는다.
과제. 다음주 월요일까지
void pushAt(int index, int item){
}
자바나 c++ 같은 경우 원하는 위치에 push 를 할 수 있는데 c언어로 다음 함수 구현하기
(스택이 full이면 사이즈 늘리면서 삽입)
'학교 > 데이터구조응용' 카테고리의 다른 글
6(0327) - (0) | 2024.03.27 |
---|---|
5(0325) - 원형큐(dequeue) (0) | 2024.03.25 |
4(0320) - 큐와 원형큐 (0) | 2024.03.20 |
3(0318) - pushAt 함수 (0) | 2024.03.18 |
1(0311) - 배열 (0) | 2024.03.11 |