선언한 strAnimal 배열에 동물 이름을 저장하겠습니다. 코드의 효율성을 높이기 위해 함수로 작성합니다.
➊ initAnimalName이라는 이름의 함수를 main()함수 위에 선언합니다. initAnimalName()함수는 strAnimal 배열을 초기화하는 작업만 하므로 전달값이나 반환값은 필요 없습니다.
➋ main()함수 아래에 initAnimalName()함수를 정의합니다. 이 함수는 strAnimal 배열에 동물 이름 10개를 저장합니다. strAnimal 배열은 char형 포인터 배열입니다. 따라서 배열의 각 요소에는 동물 이름의 문자열이 저장되는 것이 아니라 문자열이 저장된 메모리 공간의 시작 주소가 저장됩니다. 그리고 strAnimal 배열의 인덱스는 각 동물 이름을 나타내는 번호로 사용합니다. 즉, 0은 원숭이, 9는 호랑이를 의미합니다.
➌ main()함수에서 initAnimalName()함수를 호출합니다.
8.5 프로젝트.c
int arrayAnimal[4][5];
char * strAnimal[10]; // 동물 이름 배열
void initAnimalArray();
void initAnimalName(); ----------- ➊ 동물 이름 배열 초기화 함수 선언
int main(void) {
initAnimalArray();
initAnimalName(); ------------ ➌ 동물 이름 배열 초기화 함수 호출
return 0;
}
void initAnimalArray() { (중략) }
void initAnimalName() { ---------- ➋ 동물 이름 배열 초기화 함수 정의
strAnimal[0] = "원숭이";
strAnimal[1] = "하마";
strAnimal[2] = "강아지";
strAnimal[3] = "고양이";
strAnimal[4] = "돼지";
strAnimal[5] = "코끼리";
strAnimal[6] = "기린";
strAnimal[7] = "낙타";
strAnimal[8] = "타조";
strAnimal[9] = "호랑이";
}