如何将字符串文字用作其他左值?

时间:2017-08-13 03:09:01

标签: c

字符串文字是左值。

可以使用左值:

  1. 作为address-of运算符的操作数(除非左值指定位字段或被声明为寄存器)。

  2. 作为前/后递增和递减运算符的操作数。

  3. 作为成员访问(点)运算符的左侧操作数。

  4. 作为赋值和复合赋值运算符的左手操作数。

  5. as ...(可以使用任何值但我不想列出的任何内容)

  6. 我想知道字符串文字如何在C程序中用作上述运算符的操作数?

    感谢。

1 个答案:

答案 0 :(得分:2)

您的项目符号2和4需要可修改左值,这会排除数组。字符串文字是数组,因此它们不是可修改的左值。

第一个是好的,&"hello"是允许的,虽然这是一种不常见的用法。

第三个,.的左侧必须具有结构类型,字符串文字不具有结构类型。但请注意,.的左侧操作数实际上并不需要是左值。