#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 |
댓글