指针的结构
问题描述:
我想存储一个结构数组,每个结构都有指针,但我在创建数组时得到了“初始化使得指针没有转换的整数”消息。指针的结构
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;
};