结构初始化为0
问题描述:
我有结构:结构初始化为0
struct stek
{
char value;
struct stek *next;
};
为什么我可以Init这是这样的:
stek *p = 0;
是什么意思?为什么是零?
答
tldr; 因为0是有效的内存地址。
由于指针指向的内存位置,表达是有效的,p
指向的内存地址0
答
这里0
表示NULL
。在之前的C++ 11中,0
可以用作NULL
,有时候这很不明确。目前C++有nullptr
这更有意义。
查看更多about NULL与nullptr之间的区别。
我们怎么会知道你为什么决定用0到初始化指针? – SergeyA
请参阅:http://stackoverflow.com/questions/13816385/what-are-the-advantages-of-using-nullptr –
你对指针有什么了解?你做了什么研究? –