11_13.cpp

来自「C程序参考,简单易懂,是初学者不可少的参考资料」· C++ 代码 · 共 63 行

CPP
63
字号
#include "stdio.h"
#include "malloc.h"
struct Person
{
  char           name[31];
  int            age;
  char           address[101];
  struct Person *next;
};
struct Person *createLink();
void printLink(struct Person *pt);
void distroyLink(struct Person *LinkHead);
void main()
{
  struct Person *LinkHead;
  LinkHead=createLink();
  printLink(LinkHead);
  distroyLink(LinkHead);
}
struct Person *createLink()
{
  struct Person *LinkHead, *LinkEnd, *pt;
  int i;
  printf("input name age address:\n");
  for(i=0; i<3; i++)
{
    pt= (struct Person *)malloc(sizeof(struct Person));
    scanf("%s %d %s", pt->name, &pt->age, pt->address);
	    if(0==i)
{
      LinkHead =pt;
	   LinkEnd  =pt;
	    }
		else
{
		    LinkEnd->next =pt;
	   LinkEnd       =pt;
	    }
      }
      LinkEnd->next =NULL;
      return LinkHead;
}
void printLink(struct Person *pt)
{
  while(NULL!=pt)
 {
      printf("%-30s, %4d, %s\n", pt->name, pt->age, pt->address);
      pt = pt->next;
  }
}
void distroyLink(struct Person *LinkHead)
{
  struct Person *pt;
  int    i=0;
  pt=LinkHead;
  while(NULL != pt) {
    LinkHead = LinkHead->next;
    free(pt);
	    printf("free node:%d\n", i++);
	    pt =LinkHead;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?