struct init with 0

时间:2016-11-09 18:58:15

标签: c++ struct

我有结构:

struct stek
{
char value;
struct stek *next; 
};

为什么我可以这样做:

stek *p = 0;

这是什么意思?为什么为零?

2 个答案:

答案 0 :(得分:2)

<强> tldr; 因为0是有效的内存地址。

由于指针指向内存位置,表达式有效且p指向内存地址0

答案 1 :(得分:1)

此处0表示NULL。在之前的C ++ 11中,0可以用作NULL,有时候它很模糊。目前C ++有nullptr更有意义。

详细了解 NULL与nullptr之间的区别