链表的创建和输出

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct test
{
    int date;
    struct test *pTest;
}* PTEST,TEST;

PTEST create_head();
void shuchu(struct test *);

int main (void)
{
    PTEST p_head;
    p_head=create_head();
    shuchu(p_head);

    return 0;
}

PTEST create_head()
{
    int len;
    int i;
    int val;
    PTEST ptail;

    PTEST P_head=(struct test *)malloc(sizeof(struct test));//对了  他是头  所以用*号类型的
    //创建一个头指针不是首指针
    if(NULL==P_head){
        printf("失败");
        exit(-1);
    }
    ptail=P_head;

    printf("几个:");
    scanf("%d",&len);

    for (i=1;i<len+1;i++)
    {
        printf("第%d个的值",i);
        scanf("%d",&val);
    //创建一个新的值
        PTEST pnew=(PTEST)malloc(sizeof(TEST));
        if(NULL==pnew)
        {
            printf("失败");
            exit(-1);
        }
        pnew->date=val;
        ptail->pTest=pnew;
        pnew->pTest=NULL;
        ptail=pnew;
                          
    }

    return P_head;

}

void shuchu (PTEST phead)
{
    PTEST p = phead->pTest;//p是指向最后的一个的指针;
    while (p!=NULL)
    {
        printf("%d ,",p->date);
        p=p->pTest;

    }

    printf("\n");
}





 

转载于:https://www.cnblogs.com/xiguayizu/p/3251522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值