夜雨&(* 2022-04-19 23:15 采纳率: 88.9%
浏览 38
已结题

我这个释放空间的写法对吗


typedef struct Account
{
        char cardNum[17];
        char password[7];
        char userName[10];
        char balance[20];
        struct Account* next;
}LIST;
LIST* head=NULL;
LIST* p = NULL;


void initialize() {
        FILE* fp;
        LIST* tail,*temp;
        head = (LIST*)malloc(sizeof(LIST));
        tail = head;
        p = head;

        if ((fp = fopen("D:\\华软2021-2022\\c2\\ATM模拟机\\accounts.txt", "r")) == NULL) {
                printf("文件打开错误");
                exit(0);
        }

        while (1) {
                temp = (LIST*)malloc(sizeof(LIST));
                fscanf(fp, "%s\t%s\t%s\t%s\n", temp->cardNum, temp->password, temp->userName, temp->balance);
                temp->next = NULL;
                tail->next = temp;
                tail = temp;
                if (feof(fp)) {
                        break;
                }
        }
        fclose(fp);
}


//释放空间
void freeSpace() {
        LIST* temp = p->next;
        while (temp!=NULL) {
                p = temp->next;
                free(temp);
                temp = p;
        }
}
  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-04-20 09:28
    关注

    供参考:

    //释放空间
    void freeSpace(LIST* head) {
    
        while (head != NULL) {
            LIST* temp = head;
            head = head->next;
            free(temp);
            //temp = p;
        }
        head = NULL;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月19日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。