본문 바로가기
01.Bit 단기/C

23_구조체배열

by chojju 2018. 4. 28.
반응형

#include <stdio.h>
#include <string.h> // 문자열 h
//생성된 타입명
//1) struct tagmember
//2) member
typedef struct tagmember member;
struct tagmember
{
 char name[20];  //이름
 char gender;  //성별
 int  age;   //나이
};

/*
//구조체 배열
int main()
{
 member mem[2] = { { "abc", 'm', 10 },
      { "ABC", 'f', 20 } };

 printf("첫번째 사람의 이름 : %s\n", mem[0].name);
 printf("첫번째 사람의 성별 : %c\n", mem[0].gender);
 printf("첫번째 사람의 나이 : %d\n", mem[0].age);

 printf("%c\n", mem[0].name[0]);

 return 0;
}
*/

#define DATA_MAX  5
member g_mem[DATA_MAX]; //전역변수 member * 5개
int    g_size = 0;

int fun_insert(char * n, char g, int a);
void fun_print(int idx);

int main()
{
 fun_insert("홍길동", 'm', 15);
 fun_insert("이길동", 'm', 10);
 fun_insert("홍길순", 'f', 8);

 fun_print(0); //해당 인덱스에 있는 정보 출력

 return 0;
}

void fun_print(int idx)
{
 printf("%s\n", g_mem[idx].name);
 printf("%c\n", g_mem[idx].gender);
 printf("%d\n", g_mem[idx].age);
}

int fun_insert(char * n, char g, int a)
{
 // 배열의 오버플로우 검사 필요.!!!!!!
// g_mem[g_size].name = n;  // char *  = char*
 strcpy(g_mem[g_size].name, n);//#include <string.h>

 g_mem[g_size].gender = g;
 g_mem[g_size].age = a;

 g_size++;
 return 1;
}

 

반응형

'01.Bit 단기 > C' 카테고리의 다른 글

25_구조체실습, 비트필드, 공용체  (0) 2018.04.28
24_구조체포인터및인자전달  (0) 2018.04.28
22_구조체1  (0) 2018.04.28
21_명령행인자  (0) 2018.04.28
20_문자열  (0) 2018.04.28

댓글