假设我有:
char *p = NULL;
我敢肯定这将是一个问题,因为我会取消引用NULL
指针:
*p = 16;
另一方面,我认为这个是可以的,因为我会得到 *p 的地址,而 *p 本身不是NULL
:
char **pp = &p;
我在这两种情况下都是对的吗?
是的,你是。尽管 p 的值为 NULL,但它仍然具有有效的地址,因此您可以传递其引用。
是的,你在这两种情况下都是正确的。
在这两种情况下你都是正确的。只是为了补充一个简单的说明。虽然你分配
char **pp = &p;
您仍然无法访问 **pp,因为它仍然具有 NULL。但是您可以安全地访问 *pp。