C++ 带0的Struct init
我有一个结构:C++ 带0的Struct init,c++,struct,C++,Struct,我有一个结构: struct stek { char value; struct stek *next; }; 为什么我可以这样初始化: stek *p = 0; 这是什么意思?为什么为零?这里的0表示NULL。在以前的C++11中,0可以用作NULL,这有时非常模糊。目前C++有代码> null ptr>代码>,这是更合理的。< /P> 阅读有关NULL和nullptr之间差异的更多信息。tldr 因为0是有效的内存地址 由于指针指向内存位置,因此表达式是有效的,p指向内存地址0我们如
struct stek
{
char value;
struct stek *next;
};
为什么我可以这样初始化:
stek *p = 0;
这是什么意思?为什么为零?这里的
0
表示NULL
。在以前的C++11中,0
可以用作NULL
,这有时非常模糊。目前C++有代码> null ptr>代码>,这是更合理的。< /P>
阅读有关NULL和nullptr之间差异的更多信息。tldr强>
因为0是有效的内存地址
由于指针指向内存位置,因此表达式是有效的,
p
指向内存地址0我们如何知道您决定用0初始化指针的原因?请参阅:您对指针了解多少?你做了什么研究?