大前端

前端学习之家-大前端

王道辅导书中代码LinkList L中的作用

首先说明&是C++的引用

具体作用看下面两个代码示例

  1. 给L分配空间在函数里
#include<bits/stdc++.h>

typedef struct Lnode
{
    int data;
    struct Lnode *next;
}Lnode,*LinkList;

void Linklist_insert(LinkList L)
{
    L=(Lnode*)malloc(sizeof(Lnode));
    Lnode* s;
    s=(Lnode*)malloc(sizeof(Lnode));
    s->data=5;
    s->next=NULL;
    L->next=s;
}

int main() 
{
    LinkList L;
    Linklist_insert(L);
    Lnode *p=L->next;
    while (p!=NULL)
    {
        printf("%d",p->data);
        p=p->next;
    }
    return 0;
}

在这里插入图片描述
2. 给L分配空间在主函数

#include<bits/stdc++.h>

typedef struct Lnode
{
    int data;
    struct Lnode *next;
}Lnode,*LinkList;

void Linklist_insert(LinkList L)
{
    Lnode* s;
    s=(Lnode*)malloc(sizeof(Lnode));
    s->data=5;
    s->next=NULL;
    L->next=s;
}

int main() 
{
    LinkList L;
    L=(Lnode*)malloc(sizeof(Lnode));
    Linklist_insert(L);
    Lnode *p=L->next;
    while (p!=NULL)
    {
        printf("%d",p->data);
        p=p->next;
    }
    return 0;
}

在这里插入图片描述
3. 使用引用,给L分配空间在函数里

#include<bits/stdc++.h>

typedef struct Lnode
{
    int data;
    struct Lnode *next;
}Lnode,*LinkList;

void Linklist_insert(LinkList &L)
{
    L=(Lnode*)malloc(sizeof(Lnode));
    Lnode* s;
    s=(Lnode*)malloc(sizeof(Lnode));
    s->data=5;
    s->next=NULL;
    L->next=s;
}

int main() 
{
    LinkList L;
    Linklist_insert(L);
    Lnode *p=L->next;
    while (p!=NULL)
    {
        printf("%d",p->data);
        p=p->next;
    }
    return 0;
}

在这里插入图片描述

发表评论:

Copyright Your WebSite.Some Rights Reserved.