www.rtmj.net > C语言,关于链表的问题,数据域为结构体怎么引用?下面的代码哪错了?

C语言,关于链表的问题,数据域为结构体怎么引用?下面的代码哪错了?

可以实现的,每个节点内存分配的大小是union里最大的内存字节加上指针类型4个字节,对里面数据的访问也普通的list是一样的,都是list->data比如typedef union{int a;int b;char c;double d;int array[100];}elementtype;typedef struct listnode{elementtype data;listnode *next;}listnode,*list;list head;head = create(head);访问元素head->data.a,head->data.b,head->data.c,head->data.d等等一样的访问

p=(NODE*)malloc(NODE);改为 p=(struct NODE *)malloc(sizeof(struct NODE));即可#include#includestruct NODE{ int date; struct NODE *link;};void main(){ struct NODE *h,*p; int t; scanf("%d",&t); h=NULL; while(t!=-1) { p=(struct NODE *)

这段代码除局部变量i没有使用外没有大问题,已将文件内的内容准确地读入到结点中了.有问题找找别的原因吧!你这种创建链表的办法,最后一个结点的指针是p->next,次最后一个结点的指针是p->next->next,依此类推,不知这里你搞清楚没有.

链表有多种形式,如:单向链表,双向链表,单向循环链表,双向循环链表.将链表结构定义为list_t,则该类型中一定(至少)存在一个指向下一节点的指针list_t *next;除了这个指针,list_t 中可以包含其它类型的数据,包括结构体变量.比如:typedef struct {struct usr_struct data;list_t *next;} list_t;

在你光标指向的那一行struct data * create()上面是struct data的定义吧结尾加一个分号strcut data 结构体定义以分号结尾

side of是sizeof吧

错误多,要好好练习哦~ 1、结构体中的变量data是浮点型变量,而程序在读入和输出时均按整型数据处理,会出现打印出乱码,建议将float改为int或者将所有关于data的%d改成%f 2、creat()函数中指针变量head未进行初始化.应初始化为0

#include<stdio.h>#include<malloc.h>#define NULL 0#define LEN sizeof(struct student)struct student{long num;float score;struct student * next;}; //加上;void main() //加上void{ struct student * p3=NULL; struct student * creat(void);void print(

问题多多~~~1.缺少头文件stdlib.h2.struct stud *next;应该是struct stu *next3.main() 应该是int main()4.while(p!=NULL) { fscanf(fp,"%d",&p->id);p->id; //这些是没用的, fscanf(fp,"%s",p->name);p->name; //没用的,而且应该是&p->name

用C的文件库,前提是你的文件必须是以二进制方式写入的.才能以二进制的方式来读取数据.但假如你现在的txt文件是以文本方式存储的,则必须以读取文本的方式,想必你也会.getline.getch之类的 如果对数字没啥要求的话,完全可以以字符方式输出

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com