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