struct C中的const C Struct数组

时间:2010-10-14 02:37:03

标签: c arrays pointers struct

我试图在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变量

1 个答案:

答案 0 :(得分:1)

结构体的所有对象始终具有相同的大小。你正在尝试做的将导致具有不同大小的结构的不同对象,这是不可能的。所以你要做的不正确