首页 > 软件操作教程 > 编程开发 > C语言
题目内容

在C语言用自引用结构实现链表结构需要解决三个问题

题目答案
(1)必须指出链表第一个结点的位置,否则无法存取该链表中的结点
    实现方法:定义一个指向该结构对象的指针,或定义一个该结构类型的变量,使其指向链表的第一个结点即可。如:
            struct node *head;
 
(2)在建立一链表时,如何获得下一个新的结点的存放空间。     
    实现方法:用C编译系统提供的库函数malloc(size)动态分配存储空间得到。
除此之外,还可用calloc函数。如:
           struct node *p1, *p2;
                …
            p2=(struct node *) malloc(size(struct node));
   或: p2=(struct node *) calloc(1, size(struct node));   
            if (p2= =NULL)  exit(0);
            p1->next=p2;  /*此处设p1指向新结点的上一结点*/
另外:free函数可用于释放内存区。
  如:free(p);  表示释放由p指向的内存区,使这部分内存区能被其他变量使用。
 
(3)要明确指出链表的链尾。
    实现方法:通常把最后结点中的成员项next置为空指针NULL即可。
网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端