指针都要分配空间吗

2024-12-22 09:01:52
推荐回答(4个)
回答1:

这个要理解指针的含义,指针就是用来指示一个内存地址。一个没有初始化的指针默认是空指针(NULL),给指针初始化或者赋值可以是给他分配内存地址,就是你说的分配空间,这个指针就指向分配的内存空间地址;也可以是用等于另一个非空指针的方法,即两个指针指向同一个内存地址。引用未初始化指针(NULL)会报错,因为指针什么都没有指向。

回答2:

不会报错的,但是大多数编译器会产生warning
譬如
#include
using namespace std;

class abc
{

};
int main()
{
abc *p;
int *a;
}

但是我们使用时候避免这种不确定的指针存在;

回答3:

只是定义,就不需要分配空间。如果要赋值,就必须分配空间。

回答4:

指针在使用之前一定要初始化,即指向某个安全的地址,否则会出错。