• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

关于c语言实现链表内存的问题

#include#include#define N 6int main(){        typedef struct st        {                int num;                struct st *next;        }node;        node *p, *q, *h;        p = (node *)malloc(sizeof(node));        h = p;        for (int i = 0; i < N; i++)        {                p->num = i + 0;                q = p; //保存已完成的数据的地址                if(i==N-1)                {                        p->next=NULL;break;                }                p = (node *)malloc(sizeof(node));//开辟新的地址                 q->next = p;//让完成数据的地址和新的地址关联         }        p = h;        while (p)        {                printf("%d\n", p->num);//输出当前节点的数据                q = p->next;   //更新到下一节点的地址                p = q;                        //更新下一节点        }        p = h;        while(p)        {                q=p->next;                free(p);                p = q;        }         free(h);        system("pause");        return 0;}请各位大神帮忙看下,是否让申请的内存充分利用,释放的时候应该都释放了吧?

在这个代码里我没有用到 h->next ,我觉得反正 h 这个领头的也不存数据, 用h 和h->next应该没区别吧?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031168位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!