Eip_Nit_AC 2019-04-10 18:14 采纳率: 25%
浏览 3033
已结题

p = (Node*)malloc(sizeof(Node));和 L = (CreateList)malloc(sizeof(Node));这个有什么区别?

#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
    int data;
    struct Node *next;
}Node, *CreateList;
void InsertList(CreateList *L, int m)
{
    Node *t, *s;
    s = *L;
    while (m > s->next->data && s->next->next != NULL) s = s->next;
    if (s->next->next == NULL)

    {
        t = (Node*)malloc(sizeof(Node));
        t->data = m;
        s->next->next = t;
        s = t;
        s->next = NULL;
    }
    else
    {
        t = (Node*)malloc(sizeof(Node));
        t->data = m;
        t->next = s->next;
        s->next = t;
    }
}
void Print(CreateList L)
{
    Node *p;
    p = L->next;
    while (p->next)
    {
        printf("%d ", p->data);
        p = p->next;
    }printf("%d", p->data);
}
int main()
{
    CreateList L;
    int i, a, m, n;
    Node *last, *p;
    L = (CreateList)malloc(sizeof(Node));
    L->data = 0;
    L->next = NULL;
    last = L;
    scanf("%d %d", &n, &m);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a);
        p = (Node*)malloc(sizeof(Node));
        p->data = a;
        p->next = NULL;
        last->next = p;
        last = p;
    }
    InsertList(&L, m);
    Print(L);
    return 0;
}

p = (Node*)malloc(sizeof(Node));和 L = (CreateList)malloc(sizeof(Node));这个有什么区别?
刚刚学习数据结构,请问各位大佬这两个的区别在哪里

  • 写回答

2条回答 默认 最新

  • 泡视界 2019-04-10 18:27
    关注

    没区别朋友,只是这段代码交叉使用Node和*CreateList。其实就是想用CreateList指向链表头,其余同Node创建对象。
    这样看起来比较难受,我个人喜欢统一表示,要用指针的地方,加上*。
    L = (CreateList)malloc(sizeof(Node));这句申请的是头节点
    p = (Node*)malloc(sizeof(Node));这句申请的是普通节点,可以复用这一句,可能不同点就是这一句何以复用吧。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月10日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog