프로그램이 메모리를 할당받는 방법 - 정적(프로그램 시작 전 미리 정해진 크기의 메모리를 할당받는 방식) - 동적(필요한 시점에 할당을 받고 필요없을 때 해제하는 방식) 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,..
학교/데이터구조응용
배열 - 항목의 개수 제한(메모리를 지정한 만큼만 사용가능) 연결리스트 - 크기가 제한되지 않음(메모리를 필요한만큼만 사용가능) 과제 : 항목의 개수가 제한이 없는 스택을 만들기 삽입 삭제가 가능한 스택을 만들기 2주차 목표 - 스마트한 배열 만들기(파이썬의 리스트처럼) 파이썬 리스트(동적 배열) ● 배열의 크기를 지정하지 않는다. ● 배열의 용량을 늘릴 수 있다. ● 지정한 인덱스에 항목을 추가할 수 있다. ▶크기가 10인 배열에 수가 다 차있고 새로운 수가 추가되어야 하는 경우 1. 크기가 20인 배열을 새로 만들고 기존 10의 크기의 배열의 수를 20의 배열에 복사하고 새로운 수를 추가한다. 2. 그리고 기존의 10 크기의 배열은 해제한다.