标题:半夜菜鸟请教 关于node结构体问题
只看楼主
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
结帖率:92.31%
已结贴  问题点数:10 回复次数:5 
半夜菜鸟请教 关于node结构体问题
下面代码中  破坏链接函数   void destroynoe(struct node* destroy,struct node* head);  并没在 main中调用 怎么会起作用呢? 百思不解  所以来请教大家

#include<stdio.h>
#include<stdlib.h>

struct node* inserthnode(struct node* current,int data);  //当前node后面插入新node函数
void destroynoe(struct node* destroy,struct node* head);  // 破坏链接函数
struct node* createnode(int data);   //创建node函数

void printnodefrom(struct node* from);   //输出函数

struct node
{
    int data;
    struct node *nextnode;
};

int main()
{
    struct node* node1= createnode(100);
    struct node* node2=inserthnode(node1,200);
    struct node* node3=inserthnode(node2,300);
    struct node* node4=inserthnode(node2,400);   // node2后面加 node4

    printnodefrom(node1);
    return 0;

}

void printnodefrom(struct node *from)   //输出函数
{
    while(from)
    {
        printf("node的数据是:%d \n",(*from).data);
        from=from->nextnode;
    }
}


struct node* inserthnode(struct node* current,int data)  //当前node后面插入新node函数
{
    struct node* after=current->nextnode;

    struct node* newnode=(struct node*)malloc(sizeof(struct node));
    newnode->data=data;

        newnode->nextnode=after;     /* 刚才错误的地方 */

    current->nextnode=newnode;     /* 刚才错误的地方 */

   
    return newnode;
}

void destroynoe(struct node* destroy,struct node* head)  // 破坏链接函数
{
    struct node *next=head;      

    if(destroy==head)   
    {
        free(destroy);
        return;
    }

    while(next)
    {
        if(next->nextnode==destroy)
        {
            next->nextnode=destroy->nextnode;
        }
        next=next->nextnode;
    }
    free(destroy);
}

struct node*createnode(int data)   //创建node函数
{
    struct node* newnode=(struct node *)malloc(sizeof(struct node));
    newnode->data=data;
    newnode->nextnode=NULL;

    return newnode;
}



[此贴子已经被作者于2016-3-18 23:11编辑过]

搜索更多相关主题的帖子: current include 结构体 
2016-03-18 22:30
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
得分:0 
哪位帮我解答
2016-03-18 22:51
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:5 
写了但不一定要用,对吧?没有谁说起作用了。

   唯实惟新 至诚致志
2016-03-18 22:53
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
得分:0 
回复 3楼 qq1023569223
刚才那函数注释掉 然后生成成功没异常  有没有一样

这个代码是我在书上看的 哪里解释的图是
2016-03-18 23:01
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:5 
不知道你要问啥?

输出跟你想的不一样么?


[fly]存在即是合理[/fly]
2016-03-19 11:55
heizhizhu007
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2016-2-19
得分:0 
解决了 那个代码有没有一样白折腾了
2016-03-21 09:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462651-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126212 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved