在C/C++中声明和定义指针有什么区别



下一行中的节点指针之间的确切区别是什么?

ListNode*dummy=新的ListNode(0(,*节点;

ListNode是一个结构。

THis line

ListNode *dummy = new ListNode(0), *node;

真的是

ListNode *dummy = new ListNode(0);
ListNode *node;

这两行都创建了一个指向ListNode 的指针

第一个实例还在堆上创建一个ListNode实例,并将dummy设置为指向它

第二行创建了一个统一的指针,它指向任何有效的地方。

这既是声明也是定义。

  • 这是第一次看到这些名称=声明
  • 它们实际上被实例化并完成=定义

一个指向某个地方,而另一个不相关的事实,指针本身已经声明并定义了

最新更新