字符串和函数是否返回值lvalue或rvalue?

>只是想知道一个字符串是一个左值或右值。是否有其他文字(如int,float,char等)lvalue或rvalue?
>函数的返回值是一个左值还是右值?

你如何区分差异?

>字符串文字是左值,但是你不能改变它们
> rvalue,但如果它是一个指针和非NULL,它指向的对象是一个左值

C标准识别左侧和右侧的原始术语,如在L = R中;然而,它说想到lvalue作为定位器值,这大概意味着你可以获得一个对象的地址,因此该对象有一个位置。 (见C99年6.3.2.1节)

同样,标准放弃了rvalue一词,只是使用“表达式的值”,这实际上是一切,包括诸如int,chars,float等字面量。此外,你可以用右值可以用左值来做,所以你可以把所有左值作为右值。

http://stackoverflow.com/questions/2038414/are-literal-strings-and-function-return-values-lvalues-or-rvalues

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:字符串和函数是否返回值lvalue或rvalue?