结构数组中的 const C 结构数组

标签 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 变量中?

最佳答案

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

关于结构数组中的 const C 结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929669/

相关文章:

javascript - 为什么 Array.prototype.reduce() 不将空对象字面量作为初始值?

Javascript:为什么数组变量赋值在此函数内外的行为不同?

java - 为什么这个数组显示错误消息(Eclipse)

c++ - 如果在保持相同类型的同时添加常量,static_cast 运行时开销是多少?

使用C编程将RGB图像转换为YUV

c - 查找出租车号码

c - 如何在c中为硬币翻转生成一个随机int值

c - 递增指针位置

c++ - typedef 指针是个好主意吗?

c - 程序收到信号 SIGPIPE,Broken pipe