#include <stdio.h>
#include <string.h> // 문자열 h
typedef struct tagmember member;
struct tagmember
{
char name[20]; //이름
char gender; //성별
int age; //나이
};
void foo(member m);
void woo(member *pm);
void goo(char *n, char g, int a);
void hoo(char *n, char *g, int *a);
int main()
{
member mem1 = { "홍길동", 'm', 10 };
//1. 구조체 값 전달
foo(mem1);
//2. 구조체 주소 전달
woo(&mem1);
//3. 구조체 맴버 전달
goo(mem1.name, mem1.gender, mem1.age);
hoo(mem1.name, &mem1.gender, &mem1.age);
printf("%s\n", mem1.name);
printf("%c\n", mem1.gender);
printf("%d\n", mem1.age);
}
void foo(member m) //member m = mem1;
{
//별도의 m 저장공간을 갖고 있다.
//함수 종료시 해당 공간은 사라진다.
}
void woo(member *pm)//member *pm = &mem1;
{
strcpy(pm->name, "홍길순");
pm->gender = 'f';
pm->age = 5;
}
//Call by A, V, V
void goo(char *n, char g, int a)
{
strcpy(n, "이길순");
}
//Call by A, A, A
void hoo(char *n, char *g, int *a)
{
strcpy(n, "김길동");
*g = 'm';
*a = 25;
}
'01.Bit 단기 > C' 카테고리의 다른 글
26_typedef사용법 (0) | 2018.04.28 |
---|---|
25_구조체실습, 비트필드, 공용체 (0) | 2018.04.28 |
23_구조체배열 (0) | 2018.04.28 |
22_구조체1 (0) | 2018.04.28 |
21_명령행인자 (0) | 2018.04.28 |
댓글