这是主要结构:

#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");

10-04 17:25