结构体如下:
Typedef structstudent
{
Int num;
Char* name;
} Tom,*Lily;
如果定义成Tom的形式,不需要为结构体分配内存,但是需要对name分配内存
Tom.name =(char*)malloc(sizeof(char)*n);
使用完毕要释放内存:
free(Tom.name);
如果定义成*Lily的指针形式,则首先要对结构体分配内存
Lily = (student*)malloc(sizeof(student));
然后再如上所示给name分配内存
用完后先释放name的内存,再释放结构体的内存
free(Lily.name);
free(Lily);
若要建立一个有n元素结构体数组Student *class
class =(student*)malloc(sizeof(student)*n)
初始化name
for(i = 0; i<n;i++)
{
Class[i].name = (char*)malloc(sizeof(char)*m);
}
释放内存
for(i = 0; i<n;i++)
{
free(Class[i].name)
}
free(class);