| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 328 人关注过本帖
标题:结构体的问题!!!
只看楼主 加入收藏
celisius
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
结构体的问题!!!
刚刚才学了结构体 还是有很多地方弄不清楚
如果要写一段程序达到“使用结构体储存n个人的信息”的目的
要有n个结点
先读入 EOF结束
用malloc函数创建链表  那应该就是说还要用到free函数???

读入顺序
人名 性别 年龄(回车)
人名 性别 年龄(回车)
...
以此类推


在这里假设n==3
输入:
asd vd F 15(在这里asd vd是个人名)
b M 56
c F 34


要怎么写??
我写的老是崩溃 也不知道什么原因

这个问题应该花不了大神们十分钟。。。刚注册论坛分也不多
求助啊  谢谢~



代码在这
程序代码:
#include<stdio.h>
#include<stdlib.h>
struct people *creat_head();
void data_in(struct people *head, struct people *p);
void data_pout(struct people *head, struct people *p);
struct people {
    char *info;
    struct people *next;
};

int main() {
    int i;
    struct people *head, *p;
    head = creat_head();
    p = head;
    for (i = 0; i < 3; i++) {
        data_in(head, p);
        p->next = NULL;
    }
    data_pout(head, p);
    free(head);
    return 0;
}

struct people *creat_head() {
    struct people *creathead;
    creathead = (struct people*) malloc(sizeof(struct people));
    if (!creathead)
        return NULL ;
    creathead->next = NULL;
    return creathead;
}
void data_in(struct people *head, struct people *p) {
    p = (struct people*) malloc(sizeof(struct people));
    while (gets(p->info)) {
    }
}

void data_pout(struct people *head, struct people *p) {
    for (p = head; p != NULL ; p = p->next)
        printf("%s\n", p->info);
}


刚从数组学到链表 不懂的地方太多了

[ 本帖最后由 celisius 于 2012-12-14 10:23 编辑 ]
搜索更多相关主题的帖子: 结构体 color 
2012-12-14 01:36
炎黄宇宙
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:104
注 册:2012-11-12
收藏
得分:5 
先定义结构体
typedef struct student
{
    char name[20];
    char sex;
    int age;
}Node,*ListNode;

然后提示输入学生信息;
开始输入;
输入完以后创建链表结点(此时用到malloc)将你输入的信息保存在结点中。
然后创建链表(需要掌握一种创建链表的方法,有头插法、尾插法)将你每个学生的信息分别保存在一个节点中。
你先自己写一下 有问题了把代码贴上了再给你看
2012-12-14 09:54
celisius
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-10
收藏
得分:0 
回复 2楼 炎黄宇宙
请问使用链表的时候是要先创建一个有n个结点的链表之后才能往里面插数据吗?
2012-12-14 10:25
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:5 
回复 3楼 celisius
有那样做的,但是个人感觉建一个节点输入一个信息比较好

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-14 11:14
快速回复:结构体的问题!!!
数据加载中...
 
   



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

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