如何为struct数组中的char字符串分配内存?

时间:2015-12-07 22:52:56

标签: c arrays struct dynamic-memory-allocation

我即将创建一个程序,用于将学生的数据存储在列表中。 我的问题是,如何为struct数组中的每个char字符串分配内存。 我的代码在下面。如果还有其他一些错误,请纠正我。

.jumbotron {
  margin: 0px;
  height: 380px;
  position: relative;
}
/* Main Story */
.main-story {
    max-width: 50%;
    position: absolute;
    right: 0px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    padding: 5%;
}
.main-story h2 {
    margin-top: 0;
}

1 个答案:

答案 0 :(得分:1)

某些元素的引用是错误的:

studentlist[incr]->givenname

应该是:

studentlist[incr].givenname

字符串的分配似乎很好。

您的免费代码需要更改:

free(studentlist);
free(studentlist.givename);
free(studentlist.familyname);

您需要在循环中释放studentlist.givename和studentlist.familyname,然后在结尾处免费获得学生列表:

for(incr = 0; incr < datalen; incr ++){
   free(studentlist[incr].givename);
   free(studentlist[incr].familyname);
}
free(studentlist);