C++结构体指针数组使用new分配内存,其成员赋值问题

#include <iostream>
#include <string>
using namespace std;

struct CandyBar
{
string candy_brand;
double candy_weight;
int candy_calories;
};

int main()
{
CandyBar * snack = new CandyBar [3];
snack[0].candy_brand = "WWW";
cout << snack[0].candy_brand;
return 0;
}

请问下为什么这个代码中是snack[0].candy_brand,而不是snack[0]->candy_brand,snack[0]不应该是一个指针吗

snack 是一个指针,指向一个数组,但snack[0]不是指针,而是表示数组中的第一个结构体
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网