학교에서 배우는 '자료구조 실무'를 복습할 겸 내용을 정리해볼까한다.
선생님이 툭치면 나올 수 있을 정도로 공부해야하는 중요한 과목이라고 말씀하셨듯이 열심히 머리에 넣어봐야겠다.
.
.
.
우선 본문에 가기 앞서 이해에 도움이 되는 내용
자료(Data) (= 측정된 값)
↓
컴퓨터 (=자료를 처리하는 기계)
↓
출력(정보)
자료구조(Data Structure)란?
자료가 어떤 형태로 저장되어 있는지, 어떻게 사용하는지를 나타낸다. 교과서에는 이렇게 나와있지만 간단하게 말하면 자료와 자료 사이의 논리적인 관계를 말한다.
자료구조의 가장 대표적인 것은 변수, 배열이 있다.
변수
String str = "Hi";
int age = 18;
float = 80.3;
배열
[10, 20, 30]
자료구조는 자료가 1개만 있어도 구조라고 할 수 있다.
그래서
String str = "Hi";
int age = 18;
float = 80.3;
이 변수들은 자료(Data)가 3개이고 자료구조도 3개라고 한다.
반면
[10, 20, 30]
배열에서는 자료(Data)가 3개이지만 자료구조는 1개라고 한다.
자료구조의 분류

*배열과 구조체
공통점 : 자료 여러개를 묶을 수 있다
차이점 : 배열은 같은 자료형(타입)만 묶을 수 있고, 구조체는 다른 자료형(타입)도 묶을 수 있다.
String name = "홍길동";
int age = 18;
float scort = 80.3;
위에 처럼 자료형이 다른 것끼리 묶을 수 있는 것이 구조체이다.
(단, 데이터 사이에는 관련이 있는, 즉 논리적인 데이터여야한다.)
*배열은 파생 구조이면서 선형 구조이다.
*포인터