c++ - 如何使用指针访问动态结构数组的成员?

标签 c++ arrays pointers structure dynamic-memory-allocation

这是主要结构:

#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/

相关文章:

c++ - 构建 VTK 'INSTALL' 项目时出现 CMake 错误

c++ - 销毁并重新创建对象是否会使指向该对象的所有指针都无效?

c++ - enable_if 使用 constexpr bool 测试不起作用

c# - 如何通过 Entity Framework 存储可变二维数组?

c++ - 检查 json 数组中的每个值是否存在于其他 json 文件中

c++ - C++ 中动态分配的结构指针数组

c++ - 尝试在模板类中使用单个类变量

java - 需要关于如何从图表中存储大数据的建议

c++ - 更改对象数组的指针

c - 如何计算两个地址之间的距离?