2012-09-12 2 views
1
struct ifreq { 
    char ifr_name[IFNAMSIZ];    
    union { 
      caddr_t ifr_d; 
    } ifr; 
}; 

여기에 그들은 노동 조합을 사용했는데, 거기에 사용 된 요소가 하나 뿐인데 왜 사용 되었습니까? 사용할 필요가있는 요소가 2-3 개있는 경우에만 공용 구조체를 사용하는 아이디어가 있습니다.다음 노조는 무엇을 의미합니까?

감사합니다.

답변

3

가능성이 있습니다. 그러나이 경우에는 해당 정의가 해당 Linux 헤더에서 제외 되었기 때문에 그것이 필요한 것처럼 보입니다. struct ifreq은 일반적으로 다음과 같습니다.

struct ifreq { 
    char ifr_name[IFNAMSIZ]; /* Interface name */ 
    union { 
     ... 
    }; 
};