指针的结构

指针的结构

问题描述:

我想存储一个结构数组,每个结构都有指针,但我在创建数组时得到了“初始化使得指针没有转换的整数”消息。指针的结构

struct fl_valueags { 
    tcflag_t *fl_value; 
    flagtype_t *fl_type; 
}; 
... 
struct fl_valueags t_flags[] = { { ttyinfo->c_iflag, INPUT }, { 
    ttyinfo->c_oflag, OUTPUT }, { ttyinfo->c_cflag, CONTROL }, { 
     ttyinfo->c_lflag, LOCAL } }; 

您应该传递的c_iflag地址:

struct fl_valueags t_flags[] = { { &ttyinfo->c_iflag, INPUT }, 
            { &ttyinfo->c_oflag, OUTPUT }, 
            { &ttyinfo->c_cflag, CONTROL }, 
            { &ttyinfo->c_lflag, LOCAL } }; 

关于fl_type,它或许应该被声明为一个值,而不是一个指针(除非INPUT,OUTPUT控制和本地的指针):

struct fl_valueags { 
    tcflag_t *fl_value; 
    flagtype_t fl_type; 
};