gpt4 book ai didi

c - 条件表达式中未计算的指针是否会变为 void?

转载 作者:行者123 更新时间:2023-11-30 16:42:54 25 4
gpt4 key购买 nike

这个link表示条件表达式中的第二个和第三个操作数必须是兼容的类型。它还表示第二个和第三个指针操作数之一可能是 NULL。那么这是否意味着未计算的指针将变为 NULL?

示例:a == a?指针1:指针2;

听到 a == a 为 true,因此 pointer1 被求值,而 pointer2 则不求值。所以,pointer2 会变成 NULL

最佳答案

So does that mean the unevaluated pointer turns NULL?

不,它解释了第二个和第三个操作数可以具有不同类型的异常。其中之一可以是NULL

int * pointer = (1 == 1) ? NULL : &intvar;

int * pointer = (1 == 1) ? &intvar : NULL;

因为其中一个是 int* ,第二个是 void*

<小时/>

你认为在这种情况下

int * pointer = (1 == 1) ? &intvar1 : &intvar2;

变量intvar2变成了NULL,但事实并非如此。唯一被修改的变量是pointer,它指向变量intvar1

关于c - 条件表达式中未计算的指针是否会变为 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com