1

假设我有这个:

char *p = NULL;

我确定这将是一个问题,因为我将取消引用一个NULL指针:

*p = 16;

另一方面,我认为这个可以,因为我会得到不是NULL本身的 *p 的地址:

char **pp = &p;

我在这两种情况下都对吗?

4

3 回答 3

5

是的,你是。虽然 p 的值为 NULL,但它仍然有一个有效的地址,所以你可以传递它的引用。

于 2011-05-04T11:01:36.253 回答
4

是的,你在这两种情况下都是正确的。

于 2011-05-04T11:00:48.597 回答
1

你在这两种情况下都是正确的。只是为了添加一个简单的说明。虽然你分配

char **pp = &p;

您仍然无法访问 **pp,因为它仍然有 NULL。但是您可以安全地访问 *pp.

于 2011-05-04T11:45:58.093 回答