구조체에 대해서 질문합니다.
고양이
질문 제목 : 구조체 질문질문 내용 :
구조체 부분의 공용체 부분을 공부하는데 이런 문제가 있었습니다.
#includestdio.hunion info{
int company_code;
int school_code;
};int main()
{
union info info1 = {0}; info1.school_code = 101;
printf(company_code = %d\n,info1.company_code); return 0;
}
결과는 101이더군요. 해석이 없어서 확신이 들지 않아서 제 생각이 맞는지 모르겠습니다만, 메모리를 공유하게 되니 둘 다 바뀌는거라고 생각하고 있는데 맞는지 확신이 서질 않아서 질문드립니다.
그리고 예를들어 회원 정보 프로그램을 작성한다고 할 때,
struct person{
char name[20];
char sex;
int job_code;
union{
char company_name[20];
char school_name[20];
}job_info;;
};
예를 들어 위와 같은 구조체를 선언할 때, 왜 name은 배열로 만들어주면서 성별 이런부분은 배열로 만들지 않는지 이유를 잘 모르겠습니다. 이름은 20개를 지정할 수 있다는 뜻 같은데 그렇다면 성도 20개를 지정해줘야 하지 않은가에 대해서 햇갈립니다.
-
여자
아 착각하고있었군요.^_^;
-
곰돌츼
이름이 20개가 아니죠. ^^;;;;
말씀하신 부분에 대한 것은 구조체에 대한 질문이 아니라 문자열에 대한 질문 같네요.
C에서 문자열을 어떻게 구성하는지 참조하시면 도움이 될 것 같네요.