请问,如何将这个改为动态内存分配
#include <stdio.h>#include <stdlib.h>
#include<string.h>
#include<ctype.h>
#include<malloc.h>
#define SIZE 10
struct Signal_type
{
char Name[10];
int KB;
float Pos;
int Type;
}sign[40];
int main()
{
int i;
printf("请输入信号机的信息:\n");
for(i=0;i<SIZE;i++)
{scanf(" %c %d %2.1f %d ",sign[i].Name,&sign[i].KB,&sign[i].Pos,sign[i].Type);
getchar();}
WriteToFile();
MainMenu();
return 0;
}
void WriteToFile()
{
FILE*fp;
int i ;
if((fp=fopen("E:\\sign.txt","wb"))==NULL)
{
printf("不能打开文件\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&sign[i],sizeof(struct Signal_type),1,fp)!=1)
printf("文件写入失败\n");
fclose(fp);
}