= 0) // 검색 성공 { printf("%s의 전화번호: %s", arr[index].name, arr[index].phone); } else // 검색 실패 { printf("연락처를 찾을 수 없습니다.\n"); } return 0; }"> = 0) // 검색 성공 { printf("%s의 전화번호: %s", arr[index].name, arr[index].phone); } else // 검색 실패 { printf("연락처를 찾을 수 없습니다.\n"); } return 0; }"> = 0) // 검색 성공 { printf("%s의 전화번호: %s", arr[index].name, arr[index].phone); } else // 검색 실패 { printf("연락처를 찾을 수 없습니다.\n"); } return 0; }">
// 예제 10-6 : 구조체 배열의 검색
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

#define STR_SIZE 20			// 문자열의 길이

typedef struct contact
{
	char name[STR_SIZE];
	char phone[STR_SIZE];
	int ringtone;
} CONTACT;

int ex10_06(void)
{
	CONTACT arr[] = {		// 초기화된 배열
		{"김석진","01011112222", 0},
		{"전정국","01012345678", 1},
		{"박지민","01077778888", 2},
		{"김남준","01098765432", 9},
		{"민윤기","01011335577", 5},
		{"정호석","01024682468", 7},
		{"김태형","01099991111", 3}
	};
	int size = sizeof(arr) / sizeof(arr[0]);	// 배열의 크기
	int i;
	char name[STR_SIZE];	// 입력받은 이름을 저장할 문자 배열
	int index;

	printf("이름? ");
	scanf("%s", name);

	index = -1;		// 이름을 찾을 수 없으면 -1
	for (i = 0; i < size; i++)
	{
		if (strcmp(arr[i].name, name) == 0)		// 문자열 비교
		{
			index = i;
			break;
		}
	}

	if (index >= 0)	// 검색 성공
	{
		printf("%s의 전화번호: %s", arr[index].name, arr[index].phone);
	}
	else	// 검색 실패
	{
		printf("연락처를 찾을 수 없습니다.\\n");
	}

	return 0;
}