xiaohuanghuang_
xiaohuanghuang_
采纳率87%
2021-03-09 09:54

*L=(LinkList)malloc(sizeof(Node));难道没把l初始化吗?

已采纳
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
	char data;
	struct	Node*next;
}Node,*LinkList;
void InitList(LinkList *L){
	//实参就是void InitList(L)
	*L=(LinkList)malloc(sizeof(Node));
	(*L)->next=NULL;
}//L是指向头结点的指针,用来接收头指针;*L头结点;
void creatfromhead(LinkList L){
	char c;
	Node *s;
	c=getchar();
	while (c!='/n')
	{
		s=(Node*)malloc(sizeof(Node));//为什么不是	s=(Node)malloc(sizeof(Node));?
		s->data=c;
		L=s;
		s->next=L->next;
		putchar(c);
		c=getchar();

	}

}
void main(){
	LinkList *l;
	
	InitList(l);
	creatfromhead(*l);

}

*LinkList可以被认为是一种指向Node的指针吗?那声明l的时候为什么不是*LinkList l;?

 

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • cpp_learner cpp_learner 1月前
    typedef struct Node
    {
    	char data;
    	struct	Node*next;
    }Node,*LinkList;

    Node:可以使用他定义结构体;

    Node *:可以使用他定义结构体指针;

    LinkList:可以是用他定义结构体指针;

    因为定义是指定*LinkList时指针类型了,相当于宏定义一样。所以使用LinkList就是LinkList *

    点赞 评论 复制链接分享