ISO/IEC 9899:2011 的 § 6.3.2.1:2,即“ISO C11 标准”,说:
但是,解除引用的指针不也是一个左值,就像指针本身一样吗?例如。 int *ptr; ptr = malloc(…); *ptr = 1
那么为什么没有提到 *
运算符——或者我在这里混淆了什么?
最佳答案
您缺少第 6.5.3.2p4 节,该节讨论了间接运算符 *
的语义:
运算符本身被定义为产生一个左值。
关于c - ISO C11 标准中的左值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54621080/