1

这是主要结构:

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

我真的不知道,因为我已经研究了几天。

4

2 回答 2

2

由于snack是结构数组,因此只需使用snack[0].brand_name.

您也不能仅通过=在 C 中使用来复制字符串。请strcpy改用:

strcpy(snack[0].brand_name, "Kitkat");
于 2012-09-28T01:20:09.487 回答
0

在 C++ 中,字符串是数组,不能使用=. 尝试:

strcpy(snack[0].brand_name, "Whatever");
于 2012-09-28T01:38:17.533 回答