如果我有一个指针a = null;
我初始化另一个指针,让我们说int * b;
如果我设置b = a
,这只会给我b = null
吗?
或者这会给我一个编译错误吗?
我知道这是一个简单的问题,但我想仔细检查一下我的理解
答案 0 :(得分:4)
int *a = NULL
int *b = a;
确保代码编译并正常工作。指针b
的值为NULL
,与a
相同。
请注意,当您在代码中引用空指针时,它是NULL
或0
,而不是null
。或者更好的是,在C ++ 11中使用nullptr
。
答案 1 :(得分:0)
null是a的值,通过b = a,b将取a,null的值。
所以没有错误。当您取消引用指针(使用*)时,如果地址(指针的值)无效,则可能发生问题。