2.2.1. 왜 ë°°ì—´ì�´ 필요한가 ¶
- ìž�료를 ì²˜ë¦¬í• ë•Œ, ë§Žì�€ 변수를 ê°�ê°� ì„ ì–¸í•˜ê±°ë‚˜ 코드를 나열하는 것보다 ë°°ì—´ì�„ ì“°ë©´ 편리합니다.
2.2.2. C언어ì—�서ì�˜ ë°°ì—´ ¶
int main()
{
int A[10]; // ì •ìˆ˜í˜• ë�°ì�´í„° 10ê°œ
printf("%d", A[0]); // ë°°ì—´ì�˜ 첫 번째 ì›�소 ì¶œë ¥
}
- An으로 ì„ ì–¸í• ê²½ìš° 첨ìž�는 0 부터 n-1 까지 쓸 수 있습니다.
2.2.3. ìž�료구조 ¶
- ë°°ì—´ì�€ 기초ì �ì�¸ ìž�료구조 중 하나입니다.
- ë°°ì—´ì�˜ 특징ì�€ ì—°ì†�ì �ì�¸ 메모리 공간ì�„ 가진다는 ì �입니다.
- ì›�하는 ì›�소ì—� 즉시 ì ‘ê·¼í• ìˆ˜ 있습니다.
- ì›�소를 ì‚ì œí•˜ê±°ë‚˜ 삽입하는 ì�¼ì�€ ì–´ë µìŠµë‹ˆë‹¤.
- ì›�하는 ì›�소ì—� 즉시 ì ‘ê·¼í• ìˆ˜ 있습니다.
- 다른 �료구조(리스트, 트리)� 비해 다루기 쉽습니다.
2.3.1. 왜 ì •ë ¬ì�´ 필요한가 ¶
- ì–´ë–¤ ë�„서관ì�˜ 서가ì—� ì±…ì�´ ì •ë ¬ë�˜ì–´ 있지 ì•Šë‹¤ê³ ê°€ì •í•´ë´…ì‹œë‹¤. ê·¸ ìƒ�황ì—�서는 ì–´ë–¤ íŠ¹ì •í•œ ì±…ì�„ 찾기는 매우 힘ë“니다. 우리가 ë�„서관ì—�서 ì±…ì�„ 쉽게 ì°¾ì�„ 수 있는 ì�´ìœ 는 책들ì�´ ì •ë ¬ ë�˜ì–´ 있기 때문입니다. 단, ì €ëŸ° 편리함ì�„ 위해서는 ì–´ëŠ� ì •ë�„ì�˜ 비용ì�´ ë°œìƒ�합니다. 기존ì�˜ ë�°ì�´í„°ë¥¼ ì •ë ¬í• ë•Œ 드는 비용ì�´ ìžˆê³ , 새로운 ë�°ì�´í„°ê°€ ì‚½ìž…í•˜ë ¤ í• ë•Œ ì •ë ¬ì�„ ìœ ì§€í•˜ê¸° 위해 드는 비용ì�´ ë°œìƒ�합니다. 예를 들어 ë�„서관ì�˜ 서가ì—� ì±…ì�´ ì •ë ¬ë�˜ì–´ 있으면 새로운 ì±…ì�´ 들어왔ì�„ 때 ì œ ìž�리ì—� 찾아 꽂아야 하지만, ì •ë ¬ë�˜ì–´ 있지 않다면 아무 빈 공간ì—� 꽂으면 ë�©ë‹ˆë‹¤. ì�´ë ‡ë“¯ 비용ì�´ ë°œìƒ�하기 때문ì—�, ì–´ë–¤ ìž�료를 í•ìƒ� ì •ë ¬í• í•„ìš”ëŠ” 없습니다. 찾는 ì�¼ë³´ë‹¤ 추가하는 ì�¼ì�´ 훨씬 많다면 ì •ë ¬í•˜ì§€ 않는 것ì�´ ì�´ë“�ì�´ ë� 수ë�„ 있습니다.










