C언어

15-1) 배열과 구조체

SleeveStar 2021. 9. 27. 12:10
반응형

구조체를 사용하는 것이 왜 좋은지 이해하려면 같은 프로그램을 배열과 구조체로 각각 만들어 비교해 보는 것이 가장 좋은 방법이다. 이렇게 하면 데이터를 어떻게 그룹으로 묶는 것이 더 좋은지 판단할 수 있는 기준이 생긴다.

 

 

친구 정보 관리 프로그램의 기능

 

이 프로그램은 다음처럼 각 기능을 담당할 함수를 만들어서 사용했다.

 


1. 작업메뉴 : main 함수에서 처리
사용자가 프로그램에서 제공하는 기능을 선택할 수 있도록 메뉴를 출력해 주는 작업을 한다. 프로그램 종료기능은 반복문을 빠져나오는 행위로 끝나기 때문에 개별 기능으로 처리하지 않는다.

2. 친구 추가하기 : AddFriend 함수에서 처리
scanf 표준 입력 함수를 사용하여 한 번에 1명씩 최대 5명까지 입력 받는다 5명을 다 받으면 더 이상 입력 받을 수 없다고 오류로 처리한다.

3. 친구 목록 보기 : ShowFriendList 함수에서 처리
현재 입력된 친구 목록을 보여준다. 만약 등록된 친구가 없다면 오류메시지를 출력한다.

 

 

배열로 친구 정보 관리 프로그램 만들기

 

위에서 이야기한 프로그램을 배열을 사용해 작성해 보겠다.

 

 

 

 

 

 

구조체로 친구 정보 관리 프로그램 만들기

 

 

 

두 소스 코드를 비교해 보면 가장 큰 차이점은 친구 정보를 Person 자로형으로 묶은 것이다. Person 자료형을 사용하기 위해 처리해야 할 데이터가 모두 하나로 통합되며, 함수에 전달하는 매개변수의 개수가 2개로 줄어들고 포인터 표현도 단순해졌다. 결국 배열로 데이터를 묶는 것보다 구조체를 사용해서 묶는 것이 관리하기도 편하고 좀 더 간단하게 표현할 수 있다.

 

 

 

 

 

 

 

 

 

반응형