(新手请问)怎么用new来动态分配结构数组有关问题
(新手请教)如何用new来动态分配结构数组问题
stuct snack
{
char candy_name[20];
double candy_weight;
int calorie;
}candybar[3]=
{
{"chocolate",2.5,350},
{"bar",2.0,300},
{"grist",1.5,250}
}
这样一个结构数组,现在要求是,在不声明candybar数组的前提下,用new来动态分配数组,并初使化。
请高手指点,小弟在此问题上困惑不已。
不能用其它的方法哦,只能用new来动态分配数组。
------解决方案--------------------
snack *candybar = new snack[3];
strcpy(candybar[0]->candy_name, "chocolate");
candybar[0]->candy_weight = 2.5f;
candybar[0]->calorie = 350;
//others
------解决方案--------------------
这个语法是标准的,但可能要对标准支持比较好的编译器才能编译通过
stuct snack
{
char candy_name[20];
double candy_weight;
int calorie;
}candybar[3]=
{
{"chocolate",2.5,350},
{"bar",2.0,300},
{"grist",1.5,250}
}
这样一个结构数组,现在要求是,在不声明candybar数组的前提下,用new来动态分配数组,并初使化。
请高手指点,小弟在此问题上困惑不已。
不能用其它的方法哦,只能用new来动态分配数组。
------解决方案--------------------
snack *candybar = new snack[3];
strcpy(candybar[0]->candy_name, "chocolate");
candybar[0]->candy_weight = 2.5f;
candybar[0]->calorie = 350;
//others
------解决方案--------------------
snack* candybar = new snack [3]
{
{"chocolate",2.5,350},
{"bar",2.0,300},
{"grist",1.5,250}
};
这个语法是标准的,但可能要对标准支持比较好的编译器才能编译通过