我有一个看起来像这样的数组:
struct table_elt
{
int id;
char name[];
}
struct table_elt map[] =
{
{123,"elementt1"},
{234,"elt2"},
{345,"elt3"}
};
Run Code Online (Sandbox Code Playgroud)
我试图通过map [1] .name等访问这些元素.但是,它似乎无法正确获取元素,并且我得到随机垃圾.我认为这是因为编译器不知道元素会因变化而在哪里上升.解决这个问题的最佳方法是什么,同时仍保持灵活性和简单性?
你可能想要:
struct table_elt
{
int id;
const char *name;
}
struct table_elt map[] =
{
{123,"elementt1"},
{234,"elt2"},
{345,"elt3"}
};
Run Code Online (Sandbox Code Playgroud)
另外,table_elt如果仅在此上下文中使用,则甚至不需要名称.
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |