这是主要结构:
#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++ - 如何使用指针访问动态结构数组的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12632329/