结构体中包含结构体
在一个结构提里面有声明的一个结构体,并定义了变量,如下:
#define MAX_NB_OF_FRONTENDS_IN_CHAIN 5
struct dibChannel
{
uint32_t RF_kHz;
uint32_t bandwidth_kHz;
int chid_to_feid[MAX_NB_OF_FRONTENDS_IN_CHAIN];
struct dibChannelFEInfo
{
uint32_t tune_time_locked;
uint32_t tune_time_data;
uint32_t tune_start_time;
uint32_t tune_time_estimation[2];
uint32_t priv[11];
}fe_info[MAX_NB_OF_FRONTENDS_IN_CHAIN];
}
貌似结构体ibChannelFEInfo的作用域只在结构体dibChannel内部,我想知道有什么办法可以在外部或者在其他文件中使用struct dibChannelFEInfo来定义变量?比如:
struct dibChannelFEInfo *into=channel_frontend_info(ch, fe->id); //ch是指向结构体dibChannel类型的指针,fe是指向另一个结构体类型的指针
struct dibChannelFEInfo * channel_frontend_info(struct dibChannel *ch, int id)
{
return &ch->fe_info[feid_to_chid(ch, id)];
}
这个函数又该怎么实现啊,应该怎么改才行?我是想要返回值是dibChannelFEInfodib类型(准确说应该是dibChannel::dibChannelFEInfo类型,不知道这样表达对不对),以便实现上面的函数调用
求解,大神们帮忙啊!