c语言,空指针,野指针,通用指针

2024年11月29日 04:40
有2个网友回答
网友(1):

野指针就是不知道指向哪里,或者说不知道指向的内存是否可以使用,一般都是刚刚声明但没有初始化的指针。

空指针不是指向常数0,只指向地址0,即NULL,其实换句话说,指针的本质就是地址嘛,空指针就是指针本身的值(地址)为0

空指针的作用是防止野指针的出现,因为我们不能知道野指针到底指向哪里,所以我们也无法判断一个指针是否是野指针,这样很危险,但如果养成将指针初始化为空指针的习惯,我们就能判断出这个指针是不是有效的(判断是不是NULL就可以了)

通用指针一般都用在函数传参,实现所谓的“多态”,但到函数里面使用时,一般还是被转换成具体类型的指针。

网友(2):

首先空指针并不是指向0的指针,空指针是什么,就是一个被赋值为0的指针,在没有被具体初始化之前,其值为0.
所以指针没有指向常数0,它指向的存储空间是NULL,暂时为0.