Я пытаюсь инициализировать структуру, которая находится внутри другой структуры с несколькими членами. Скажем, я хочу инициализировать структуру с 2 членами int, после чего я могу использовать следующее:
firstStruct struct1 = { 5 , 7 };
Но скажу, что я хочу инициализировать одну и ту же структуру, но на этот раз она является членом другой структуры:
(членами secondStruct являются char и firstStruct)
secondStruct struct2 = { 'A' , { 6 , 8 } };
Stucts:
typedef struct firstStruct
{
int a;
int b;
} firstStruct;
typedef struct secondStruct
{
firstStruct a;
char b;
} secondStruct;
Но это не работает. Как мне это сделать?
(Я искал другие сообщения с этой темой, но их не нашел. Возможно, я неправильно поставил вопрос.)
Благодарю!
Следующие работы для меня...
struct firstStruct {int a, b;};
firstStruct struct1 = { 5 , 7 };
struct secondStruct {char a; firstStruct b;};
secondStruct struct2 = { 'A' , { 6 , 8 } };
использование
secondStruct struct2 = {{ 6 , 8} , 'A'};
Вопросы для заказа.
Обычно он должен работать так, как вы его написали. Единственная проблема, которую я вижу, - это то, что вам нужно выполнить порядок переменных...
struct firstStruct
{
int a;
int b;
};
struct secondStruct
{
S1 a;
char b;
};
secondstruct = { { 1, 2 }, 3 };
Чтобы инициализировать структуру в структуре, я думаю, что ее нужно скопировать в скобки (хотя это верно в вашем примере)...
Вы неправильно заказали свою инициализацию. С помощью structs вам нужно инициализировать каждого члена в нужном месте. Вы объявили firstStruct перед char, поэтому вам нужно инициализировать его перед символом, например {{5, 7}, 'A'}.