相关疑难解决方法(0)

296
推荐指数
6
解决办法
38万
查看次数

我可以'扩展'C中的结构吗?

typedef struct foo_s {
    int a;
} foo;

typedef struct bar_s {
    foo;
    int b;
} bar;
Run Code Online (Sandbox Code Playgroud)

基本上我想做:

bar b;
b.a;
Run Code Online (Sandbox Code Playgroud)

我知道如果我在bar中命名了foo结构,我可以做b.foo_name.a,但我不想这样做.

有什么办法吗?

这个问题得到了各种不同的答案,所以让我解释一下这个问题.我想这样做的原因是因为我有一个我需要适应我的情况的库,这意味着我无法修改原始的struct decleration.此外,我需要做的就是在结构的开头添加1项(为什么开始?因为我有一个'object'结构,它可以处理项目中的所有结构).我可以像你提到的那样简单地嵌入结构但它真的很烦人,因为所有的引用都需要输入'variable-> image.location'那个'image'.键入十亿种类型真的很烦人.

c struct

15
推荐指数
3
解决办法
2万
查看次数

什么是c中的指定初始值设定项?

我知道这可能是一个基本问题.

我有一个任务,要求我理解c中的指定初始化器是什么以及用一个初始化变量意味着什么.我不熟悉这个词,也找不到任何结论性的定义.

我一直在寻找不同地方的答案,但找不到任何答案.谢谢您的帮助!

c initializer designated-initializer

10
推荐指数
2
解决办法
3432
查看次数