본문 바로가기
개념/혼자 공부하는 C언어

chapter 17) 구조체 배열을 초기화하고 출력

by kiseno 2024. 10. 4.
728x90
반응형
SMALL
#include <stdio.h>

struct address {
    char name[20];
    int age;
    char tel[20];
    char addr[80];
};

int main(void){
    struct address list[5] = {
        {"test1", 23, "111-1111", "core1"},
        {"test2", 35, "222-2222", "core2"},
        {"test3", 19, "333-3333", "core3"},
        {"test4", 15, "444-4444", "core4"},
        {"test5", 45, "555-5555", "core5"}
    };
    
    for( int i= 0; i< 5; i++){
        printf("%10s%5d%15s%20s\n", list[i].name, list[i].age, list[i].tel, list[i].addr);
    }
    return 0;
}

### 구조체 정의

- `struct address`는 주소록 정보를 나타내는 구조체로, 문자열을 저장할 수 있는 `name`, `tel`, `addr` 필드와 정수형을 저장할 수 있는 `age` 필드를 포함합니다.

### 주소록 정보 초기화

- `struct address list[5]`는 5개의 `address` 구조체 인스턴스를 저장할 수 있는 배열을 선언하고, 이를 초기화합니다. 배열의 각 요소는 중괄호 `{}`를 사용하여 초기화되며, 각각 다른 이름, 나이, 전화번호, 주소 정보를 가집니다.

### 주소록 정보 출력

- `for` 루프를 사용하여 배열의 각 요소에 대해 정보를 출력합니다. `printf` 함수는 각 필드의 값을 형식에 맞추어 출력하며, `%10s`는 문자열을 오른쪽 정렬로 10자리에 맞추어 출력하고, `%5d`는 정수를 5자리에 맞추어 출력하며, 나머지 필드들도 각각의 출력 폭에 맞추어 출력됩니다.

### 실행 결과

이 코드를 실행하면 다음과 같은 출력 형식으로 5명의 주소록 정보가 출력됩니다. 예를 들어:

```
     test1   23     111-1111               core1
     test2   35     222-2222               core2
     test3   19     333-3333               core3
     test4   15     444-4444               core4
     test5   45     555-5555               core5
```

728x90
반응형
LIST