구조체는 모든 데이터 형을 포함할 수 있기 때문에 구조체의 멤버로 또 다른 구조체를 사용할 수 있다.
// 구조체 내부에서 또다른 구조체를 정의하여 데이터를 저장
#include <stdio.h>
struct person
{
char *name;
int age;
struct phone
{
char *home_num;
char *mobile_num;
}number;
};
int main(void)
{
struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
printf("name : %s\n", man.name);
printf("age : %d\n", man.age);
printf("home : %s\n", man.number.home_num);
printf("mobile : %s\n", man.number.mobile_num);
return 0;
}
// 실행 결과
// 외부에서 정의한 구조체를 포함하는 구조체에 데이터를 저장
#include <stdio.h>
struct phone
{
char *home_num;
char *mobile_num;
};
struct person
{
char *name;
int age;
struct phone number;
};
int main(void)
{
struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
printf("name : %s\n", man.name);
printf("age : %d\n", man.age);
printf("home : %s\n", man.number.home_num);
printf("mobile : %s\n", man.number.mobile_num);
return 0;
}
// 실행 결과
// 구조체 내부에서 또다른 구조체를 정의하여 데이터를 저장
#include <stdio.h>
struct person
{
char *name;
int age;
struct phone
{
char *home_num;
char *mobile_num;
}number;
};
int main(void)
{
struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
printf("name : %s\n", man.name);
printf("age : %d\n", man.age);
printf("home : %s\n", man.number.home_num);
printf("mobile : %s\n", man.number.mobile_num);
return 0;
}
// 실행 결과
// 외부에서 정의한 구조체를 포함하는 구조체에 데이터를 저장
#include <stdio.h>
struct phone
{
char *home_num;
char *mobile_num;
};
struct person
{
char *name;
int age;
struct phone number;
};
int main(void)
{
struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
printf("name : %s\n", man.name);
printf("age : %d\n", man.age);
printf("home : %s\n", man.number.home_num);
printf("mobile : %s\n", man.number.mobile_num);
return 0;
}
// 실행 결과
'공부 > c언어' 카테고리의 다른 글
[c언어] 자기참조구조체. 구조체 변수와 주소를 이용한 연결 리스트 (0) | 2011.06.21 |
---|---|
[c언어] 중첩된 구조체 배열,포인터에 데이터를 저장 (0) | 2011.06.20 |
[c언어] 구조체를 헤더파일로 불러오는 프로그램 (0) | 2011.06.20 |
[c언어] 함수의 결과값으로 구조체를 반환 (0) | 2011.06.19 |
[c언어] 구조체와 함수. 함수의 인자로 구조체 변수,포인터,배열을 사용 (0) | 2011.06.19 |