Это основная структура:
#include <iostream>
using namespace std;
struct CandyBar
{
char brand_name[30];
float candy_weight;
int candy_calories;
};
int main()
{
CandyBar * snack = new CandyBar [3];
return 0;
}
Мне удалось инициализировать динамически распределенные 3 структуры в массиве из 3 элементов.
Я пытался получить доступ к структурам через:
snack[0]->brand_name = "Whatever";
без результата, даже с другим методом:
(*snack[0]).brand_name = "Whatever";
Я действительно понятия не имею, так как я изучал их в течение нескольких дней.
поскольку snack
это массив структур, просто используйте snack[0].brand_name
,
Вы также не можете скопировать строку, просто используя =
в C. Использование strcpy
вместо:
strcpy(snack[0].brand_name, "Kitkat");
В C ++ строки являются массивами, и массивы нельзя скопировать с помощью =
, Пытаться:
strcpy(snack[0].brand_name, "Whatever");