建立链表
喜欢嗑瓜子 2009-06-13 05:01:38 我想用一个循环建立一个有5节点的链表,代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
struct good{ //结构类型
int x;
char name[10];
struct good *next;
};
int main(void) /*main函数开始*/
{
struct good *head=NULL; /*头指针*/
struct good *newfile=NULL;
int x=0;
head=(struct good *)malloc(sizeof(struct good));
newfile=head;
while(x<5) /*循环用于建立5个节点的链表*/
{
newfile=newfile->next; /*指向下一个节点*/
newfile=(struct good *)malloc(sizeof(struct good)); /*为新节点分配空间*/
if(x==4) /*判断是否到了最后一个节点*/
{
newfile->next = NULL; /*最后一个节点next指针为空*/
}
x++;
}
free(head); /*释放内存*/
return 0;
}
程序可以正常运行,但是链表只有两个节点?问题出在什么地方?
如果我要使用循环建立一个链表,代码怎么写?