C언어
15-1) 배열과 구조체
SleeveStar
2021. 9. 27. 12:10
반응형
구조체를 사용하는 것이 왜 좋은지 이해하려면 같은 프로그램을 배열과 구조체로 각각 만들어 비교해 보는 것이 가장 좋은 방법이다. 이렇게 하면 데이터를 어떻게 그룹으로 묶는 것이 더 좋은지 판단할 수 있는 기준이 생긴다.
친구 정보 관리 프로그램의 기능
이 프로그램은 다음처럼 각 기능을 담당할 함수를 만들어서 사용했다.
1. 작업메뉴 : main 함수에서 처리 사용자가 프로그램에서 제공하는 기능을 선택할 수 있도록 메뉴를 출력해 주는 작업을 한다. 프로그램 종료기능은 반복문을 빠져나오는 행위로 끝나기 때문에 개별 기능으로 처리하지 않는다. 2. 친구 추가하기 : AddFriend 함수에서 처리 scanf 표준 입력 함수를 사용하여 한 번에 1명씩 최대 5명까지 입력 받는다 5명을 다 받으면 더 이상 입력 받을 수 없다고 오류로 처리한다. 3. 친구 목록 보기 : ShowFriendList 함수에서 처리 현재 입력된 친구 목록을 보여준다. 만약 등록된 친구가 없다면 오류메시지를 출력한다. |
배열로 친구 정보 관리 프로그램 만들기
위에서 이야기한 프로그램을 배열을 사용해 작성해 보겠다.
구조체로 친구 정보 관리 프로그램 만들기
두 소스 코드를 비교해 보면 가장 큰 차이점은 친구 정보를 Person 자로형으로 묶은 것이다. Person 자료형을 사용하기 위해 처리해야 할 데이터가 모두 하나로 통합되며, 함수에 전달하는 매개변수의 개수가 2개로 줄어들고 포인터 표현도 단순해졌다. 결국 배열로 데이터를 묶는 것보다 구조체를 사용해서 묶는 것이 관리하기도 편하고 좀 더 간단하게 표현할 수 있다.
반응형