2018.10.8 创建一个链表

版权声明:Zhining https://blog.csdn.net/weixin_43214609/article/details/82972059

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

	struct list
	{
		int data;
		struct list *next;
	};							  //定义一个节点的结构体
	
	typedef struct list node;		//重命名为node
	typedef node *link;			


	int main()
	{
		link ptr , head;				//头节点
		int num = 0, i = 0;
		head = (link)malloc(sizeof(node));
		ptr = (link)malloc(sizeof(node));	//开辟link类型内存
		ptr = head;

		printf("please input 5 number:\n");
		for (i = 0; i <= 4; i++)			//给链表赋值
		{
			printf("please input number:\n");
			num = 0;
			scanf("%d", &num);
			ptr->data = num;
			ptr->next = (link)malloc(sizeof(node));
			if (i == 4)
			{
				ptr->next = NULL;
			}
			else
			{
				ptr = ptr->next;
			}
		}

			ptr = head;			//输出链表
			printf("The value is :");
			while (ptr != NULL)
			{
				printf("%d ", ptr->data);
				ptr = ptr->next;
			}
		
		system("pause");
		return 0;
	}

结果如图:
在这里插入图片描述



   * 一定不要忘记为结构体变量开辟内存空间(head、ptr)
   * 输出链表前一定要把ptr指向头节点
   * 重新定义结构体名字 会让程序更加简洁清晰

猜你喜欢

转载自blog.csdn.net/weixin_43214609/article/details/82972059