链表 C 创建和释放
时间:2010-11-02 来源:teiller2008
struct List {
int number;
char name[MAX];
struct List *Next;
};
typedef struct List Node;
typedef Node *Link;
int main() {
Link New;
int newNumber;
char newName[MAX];
int i;
printf("分配内存给新节点\n");
New = (Link)malloc(sizeof(Node));
if(New == NULL) {
printf("节点内存分配失败\n");
}
else {
printf("节点内存分配成功\n");
printf("输入数据项1( int ) : ");
scanf("%d",&newNumber);
printf("输入数据项2( <=10 char ) : ");
scanf("%s",newName);
New->number = newNumber;
for(i=0;i<=MAX;i++) {
New->name[i] = newName[i];
}
New->Next = NULL;
printf("数据项保存到节点\n");
printf("节点数据输出 : \n");
printf("数据项1 : %d\n",New->number);
printf("数据项2 : %s\n",New->name);
}
printf("删除节点释放节点内存\n");
free(New);
return 0;
}
/*
D:\>caflist
分配内存给新节点
节点内存分配成功
输入数据项1( int ) : 10001
输入数据项2( <=10 char ) : ttl_web
数据项保存到节点
节点数据输出 :
数据项1 : 10001
数据项2 : ttl_web
删除节点释放节点内存
*/