这些 C 指针操作是否会导致问题



假设我有:

char *p = NULL;

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

*p = 16;

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

char **pp = &p;

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

是的,你是。尽管 p 的值为 NULL,但它仍然具有有效的地址,因此您可以传递其引用。

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

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

char **pp = &p;

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

相关内容

  • 没有找到相关文章

最新更新