首 页 行业资讯 新车 试驾评测 养车用车 车型库

C语言中的NULL算什么东西呢?

发布网友 发布时间: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*;吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com