2011-03-28 9 views
0

안녕하세요, 여러 구조체 및 여러 구조체가 포함 된 공용 구조체를 구축 할 찾고 있어요. 아래는 내가 성취하고자하는 간단한 예입니다. 은하계와 행성이 구조체이다 노조 우주를 만들여러 구조체 및 여러 구조체에 대한 C 공용 구조체

...

union UNIVERSE{ 
    struct galaxy milkway; 
    struct planet earth; 
    struct planet mars; 
    struct planet venus; 
    int mega; 
} 
+4

당신이 이미 설명했던 것을 정확히 완료 한 것 같습니다. 그게 무슨 질문입니까? –

+4

당신은 노조가 무엇인지 알고 있습니까? – GWW

+1

당신은 당신의 우주가 다음과 같은 은하들 또는 행성들 중 하나만으로 구성되어 있다고 말하고 있습니까? –

답변

3

당신은 이미 당신이 원하는 것 무엇을 거의 완료했습니다,하지만 난 당신이 보이는 것은 아무튼 일을하려고하는 것을주의 것 많은 의미가 있습니다.

특히 지구, 화성 및 금성은 유형의 인스턴스처럼 보입니다. 노조는 유형을 정의, 그래서 당신은 아마 노동 조합의 인스턴스 것 등

typedef union { 
    galaxy g; 
    star s; 
    planet p; 
    nebula n; 
} celestial_object; 

개별 은하, 행성, 별, 같은 것을 원한다. 그런 다음 (예 :)

#define max_objects 1000000 

celestial_object universe[max_objects]; 

celestial_object earth; 
earth.p.mass = 24; 
earth.p.diameter = 12756; 

celestial_object sun; 
sun.s.mass = 30; 
sun.s.diameter = 1400000; 

... 등을 사용할 수 있습니다.

+0

이것은 더 나은 것 같지만, 실제로 달성하고 싶은 것은 내 접근이 보이는 곳입니다 ... 'code'universe.earth.mass = 24; universe.mars.mass = 22; '암호'. 제 코드의 시작 부분에 나는 모든 행성을 알고 있습니다 ... – user680589