// 创建和释放链表 #include <stdlib.h> #define MAX 10 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 删除节点释放节点内存 */ |