C++链表简单的应用

学生管理系统,输入学生的姓名和学号,然后再输出:

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



typedef struct STU// 用typedef 来进行取别名
{
    int num;//学号
    char  name[20];//名字
    struct STU  *pnext;//这个指针指向下一个节点
}STU ;
//以上仅仅是对的声明,并没有在内存中分配空间



//创建一个数据链表
//创建一个头节点
STU*  CreatList()
{
    STU*  P = (STU*)malloc(sizeof(STU));//新建一个节点
    P->pnext = NULL;//安全
    //P->name;
    //P->num;由于是带头结点,所以不含数据
    return P;
}


//添加一个节点
void AddNode(STU* P)
{
    STU  *pNew = (STU*)malloc(sizeof(STU));//重新定义一个指针并开辟一块内存

    printf("请输入该学员的信息:\n");
    printf("姓名:\n");
    scanf("%s",pNew->name);

    printf("学号:\n");
    scanf("%d",&pNew->num);
    pNew->pnext = NULL;


    //连接起来
    P->pnext = pNew;

}


int main()
{
    STU* pStu=NULL;//定义一个指针 需要来接收链表的首地址

    pStu = CreatList();//把头结点定义好

    AddNode(pStu);//添加一个节点
    printf("%d\t%s\n",pStu->pnext->num,pStu->pnext->name);
    _getch();
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/doker/p/11076978.html