C 언어 구조체 배열 선언과 초기화 방법들

1. 선언과 동시에 0으로 초기화
2. memset() 함수를 이용한 초기화
3. 초기화 목록을 이용한 초기화
4. 반복문을 이용한 초기화


#include <stdio.h>
#include <string.h>

struct student
{
        char name[20];
        int age;
        long number;
};

int main()
{
        //1. 선언과 동시에 0으로 초기화
        struct student students[3] = {0};
        //2. memset() 함수를 이용한 초기화
        struct student students2[3];
        memset(students2,0,sizeof(students2));
        //3. 초기화 목록을 이용한 초기화
        struct student students3[3] = {
                {"kim", 25, 45607},
                {"기리",28,60121315},
                {"Lee",23, 45609}
        };
        //4. 반복문을 이용한 초기화
        int i = 0;
        struct student students4[3] = {0};
        int size = sizeof(students4) / sizeof(struct student );

        for(i = 0; i < size ; i++ )
        {
                printf("이름 입력 : ");
                scanf("%s", students4[i].name);

                printf("나이 입력 : ");
                scanf("%d", &students4[i].age);

                printf("학번 입력 : ");
                scanf("%ld", &students4[i].number);
        }

        for(i = 0; i < size; i++)
        {
                printf("이름 : %s\n", students4[i].name);
                printf("나이 : %d\n", students4[i].age);
printf("학번 : %ld\n", students4[i].number);
        }

        return 0;
}


실행 시 :
ndgndg91@LAPTOP-CCFK7MKV:~$ ./struct_init
이름 입력 : 남동길
나이 입력 : 28
학번 입력 : 60121315
이름 입력 : 바보
나이 입력 : 19
학번 입력 : 123213
이름 입력 : ㅎ천재
나이 입력 : 20
학번 입력 : 12315457
이름 : 남동길
나이 : 28
학번 : 60121315
이름 : 바보
나이 : 19
학번 : 123213
이름 : 천재
나이 : 20
학번 : 12315457

댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째