我有一个用于数据库操作的结构。它包含一个char * table_field和另一个struct(char ** struct_addr)中char指针的地址
struct {
char *table_field,
**struct_addr;
} retr_sett[5] = {
{ .table_field = "ifconfig_ipaddr", .struct_addr = &(ip_sett.ip_addr) },
{ .table_field = "ifconfig_netmask", .struct_addr = &(ip_sett.netmask) },
{ .table_field = "ifconfig_router", .struct_addr = &(ip_sett.router) },
{ .table_field = "ifconfig_dns1", .struct_addr = &(ip_sett.dns1) },
{ .table_field = "ifconfig_dns2", .struct_addr = &(ip_sett.dns2) }
};
后来,我想访问"外部结构"如下:
*(retr_sett[0].struct_addr) = ipaddr_from_db;
但这段代码对我不起作用。我希望我可以像这样访问struct ip_sett中的char *,但在我看来,该值被写入struct retr_sett。
答案 0 :(得分:-1)
抱歉,我的优秀代码有效。我刚刚有一个if-Clause评估为false,因此结构没有被填充。