C언어의 문법과 관련해서 여러분이 알고 있다고 가정하는 부분
- 구조체를 정의할 줄 알고 구조체 대상의 typedef 선언을 할 줄 안다.
- malloc 함수와 free 함수를 사용할 줄 알고, 이는 메모리의 동적 할당과 관련 있음을 이해한다.
- 포인터 변수의 선언과 포인터 연산에 부담이 없다.
- 헤더파일이 필요한 이유를 이해한다.
- 해더파일을 정의할 줄 알고 해더파일에 들어가야 할 것들이 무엇인지 알고 있다.
- 헤더파일의 정의에 사용되는 매크로 #ifndef ~ #endif 의 의미를 알고 있다.
- 하나의 프로그램을 둘 이상의 소스파일과 해더파일에 나누어 담을 줄 안다.
- 재귀함수의 동작방식을 안다. 그리고 재귀함수와 관련되 아주 간단한 예제는 분석할 수 있다.
자료구조란 무엇인가?
“프로그램이란 데이터를 표현하고, 그렇게 표현한 데이터를 처리하는 것이다.”
위에서 말하는 ‘데이터의 표현’은 ‘데이터의 저장’을 포함하는 개념이다. 그리고 이렇듯 ‘데이터의 저장’을 담당하느것이 바로 자료구조이다.
본서에서 자료구조를 설명하는방향
두 부류가 있다.
- 자료구조의 모델 자체에 대한 이해를 강조한 서적
- 코드 레벨에서 자료구조의 구현을 강조한 서적