初始化结构中的结构
Initializing a struct within a struct
我正在尝试初始化另一个具有多数组成员的结构。假设我想初始化一个带有 2 个 int 成员的结构,那么我可以使用以下内容:
firstStruct struct1 = { 5 , 7 };
但是假设我想初始化相同的结构,但这次它是另一个结构的成员:
(secondStruct 成员是 char 和 firstStruct)
secondStruct struct2 = { 'A' , { 6 , 8 } };
铆钉:
typedef struct firstStruct
{
int a;
int b;
} firstStruct;
typedef struct secondStruct
{
firstStruct a;
char b;
} secondStruct;
但这行不通。我该怎么做?
(我已经搜索了与此主题的其他帖子,但没有找到。也许我回答错了这个问题。
谢谢!
使用
secondStruct struct2 = {{ 6 , 8} , 'A'};
顺序很重要。
以下对我有用...
struct firstStruct {int a, b;};
firstStruct struct1 = { 5 , 7 };
struct secondStruct {char a; firstStruct b;};
secondStruct struct2 = { 'A' , { 6 , 8 } };
初始化顺序不正确。使用结构,您需要在正确的位置初始化每个成员。你在 char 之前声明了 firstStruct,所以你需要在 char 之前初始化它,如 {{5, 7}, 'A'}。
通常它应该像你写的那样工作。我能看到的唯一问题是你必须满足变量的顺序......
struct firstStruct
{
int a;
int b;
};
struct secondStruct
{
S1 a;
char b;
};
secondstruct = { { 1, 2 }, 3 };
要初始化结构中的结构,我认为需要将其放在括号中(尽管这在您的示例中是正确的)...
相关文章:
- 多成员Constexpr结构初始化
- 为什么用结构初始化数组需要指定结构名称
- 使用指定的初始值设定项聚合匿名结构初始化
- 不同的类或结构初始化方法之间的性能差异是什么?
- 如何在结构初始化中获取成员C++
- C++正确的结构初始化
- 使用大括号进行结构初始化
- 内部结构初始化不起作用 - C++
- 使用嵌套结构初始化并集
- 使用匿名结构初始化联合
- 结构初始化语法
- 结构初始化的 C++ 向量
- C++嵌套结构初始化和访问成员
- 结构初始化中的常量正确性
- 使用 C++ 中的自定义元素进行 Const 结构初始化
- 如何在结构C++初始化内置数组
- Visual C++ 模板类成员结构初始化语法糖
- C++结构初始化
- C 在结构初始化过程中带有内部阵列的奇怪错误
- 此C/C 的结构初始化器如何使用足够的字段工作