我试图在C中创建一个const结构,但似乎无法弄明白。
typedef struct sA{
char* fname;
char* lname;
} A;
用作数组:
A list[] = {{"david","smith"},{"john","smith"}};
但是,如果我使用第二个结构:
typedef struct sB{
A inList[];
} B;
我想将const结构定义为:
B newList[] = {
{
{"david","smith"}
},
{
{"john","doe"}
{"joe","doe"}
}
};
len(newList[0].inList)
与len(newList[1].inList)
不同。这可以动态构建,但是如何在C?
答案 0 :(得分:1)
结构体的所有对象始终具有相同的大小。你正在尝试做的将导致具有不同大小的结构的不同对象,这是不可能的。所以你要做的不正确