发布网友 发布时间:2022-03-31 14:21
共3个回答
热心网友 时间:2022-03-31 15:51
NULL是空的意思
虽然很多语言对于NULL的定义都不同,但是可以确定的意思就是,NULL是空的意思。在C语言中这个的意思是让指针*head所指向的内存空间变为空追问typedef struct Student
{
int num;
struct Student *next;
}LNode,*LinkList;
请问下,LNode和*LinkList有啥区别啊?LinkList前面的那个星号有什么意义?感觉用的时候没写星号啊。是不是指针的意思,但是为什么不是LinkList*,感觉这样比较像吧。
追答LNode是Student类型的结构体变量
LinkList是结构体类型的指针变量,指向Student类型的结构体
指针的定义就是前面加星号:*LinkList
没有后面加星的
热心网友 时间:2022-03-31 17:09
等于0。是一个宏。追问typedef struct Student
{
int num;
struct Student *next;
}LNode,*LinkList;
请问下,LNode和*LinkList有啥区别啊?LinkList前面的那个星号有什么意义?感觉用的时候没写星号啊。是不是指针的意思,但是为什么不是LinkList*,感觉这样比较像吧。
追答LNode是struct本身,LinkList是指向LNode的指针
分开写:
struct Student
{
int num;
struct Student *next;
};
typedef struct Student LNode;
typedef struct Student* LinkList;
于是你看到了,LinkList就是struct Student*,那么
LinkList head 就是 struct Student* head,……
热心网友 时间:2022-03-31 18:43
是一个宏吧。值为0x00000000追问typedef struct Student
{
int num;
struct Student *next;
}LNode,*LinkList;
请问下,LNode和*LinkList有啥区别啊?LinkList前面的那个星号有什么意义?感觉用的时候没写星号啊。是不是指针的意思,但是为什么不是LinkList*,感觉这样比较像吧。
追答LNode ,LinkList都是结构体类型Student的变量。但LinkList是指针,也就是说LinkList存储单元里面放的是一个地址,该地址指向一个Student结构体变量。LNode不是指针,是结构体变量的名字。在32位操作系统中,LNode占用4+4个字节(一个int,一个指针)。LinkList只占用4个字节(用来存放一个指针)。
至于你说为什么不是 LinkList*,可以这样解释:
把花括弧{}里面内容不看,
typedef struct Student
{
int num;
struct Student *next;
}LNode,*LinkList;
就相当于
struct Student LNode,*LinkList; 这条语句你肯定能理解。因为她跟int a,*b;很像,不是么。
所以你见过int a,*b,肯定没见过 int a,b*;吧。