我想创建一个结构数组,我已经完成了,并且必须接收来自用户的输入。第一部分数据是描述(字符串)。我也必须为它分配内存。我不是那么大的弦,我想检查,因为它进入,但我认为我没有设置它的权利。任何人都可以给我一个提示或我可以看看的页面弄清楚吗?使用malloc为字符串分配内存(C++源)
非常感谢。这里是代码的重要代码段:
struct myExpenses
{
char *description;
float cost;
};
int main (void)
{
struct myExpenses *pData = NULL;
struct myExpenses expenses[60];
int exit=0;
int i = 0;
char buffer[81] = "";
printf("Please enter all your descriptions:\n");
for (i=0;i < 60; i++)
{
fgets(buffer,stdin);
expenses[i].description=(char *)malloc sizeof(buffer);
}
您已经标记了这个为'C++',但它看起来像普通的'C'代码? – 2012-01-13 07:45:13
由于这是特别是C++,而不是C,是否有一个原因,你为什么使用'char []'s而不是'std :: string's? – AusCBloke 2012-01-13 07:46:56
对不起,这是一个C++课程,所以我很喜欢自动驾驶仪。 @AusCbloke:我不明白你指的是什么。 – Robolisk 2012-01-13 07:49:43