【发布时间】:2019-02-26 02:19:03
【问题描述】:
我正在努力学习C,我遇到的问题之一,我不能完全理解。问题是如果您使用 -> 运算符返回会出现什么问题。因此,如果代码最初是这样做的:
myVariable = foo->bar;
return myVariable;
然后如果改成这样:
return foo->bar;
会出什么问题?看起来应该还是可以的,所以我不确定为什么会出错。
【问题讨论】:
-
请发布您的实际代码(最多 20 行应该没问题)。从您发布的 sn-p 很难说。
-
编辑您的帖子以包含此问题的实际文本?
-
在任何一种情况下,如果变量
foo为NULL,代码都会崩溃。最好在取消引用之前检查 foo 是否为 NULL。如果它是 NULL,你会返回一些特殊的值。 -
如果 myVariable 仅用作仅返回的临时变量,则可能会对其进行优化,以便两个实现都编译为同一个程序集。