我试图在 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 中的 const 变量中?
最佳答案
一个结构的所有对象将始终具有相同的大小。您正在尝试做的事情将导致结构的不同对象具有不同的大小,这是不可能的。所以你试图做的是不正确的
关于结构数组中的 const C 结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929669/