只是想知道文字字符串是左值还是右值。其他文字(如 int、float、char 等)是左值还是右值?
函数的返回值是左值还是右值?
你如何区分?
- 字符串文字是左值,但您无法更改它们
- 右值,但如果它是指针且非 NULL,则它指向的对象是左值
C 标准承认原始术语的含义left and right as in L = R
;然而,它说将左值视为定位值,这大致意味着您可以获取对象的地址,因此该对象有一个位置。 (参见 6.3.2.1C99.)
出于同样的原因,该标准放弃了术语右值,而只使用“表达式的值”,这实际上是所有内容,包括整数、字符、浮点数等文字。此外,您可以使用右值执行的任何操作也可以使用左值来完成,因此您可以将所有左值视为右值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)