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
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
댓글
댓글 쓰기