【问题标题】:What kind of variable in C can not be addressed?C 中有哪些变量不能被处理?
【发布时间】:2013-03-30 11:30:34
【问题描述】:

通常变量'abc' 可以被寻址为'&abc'

c中有哪些变量不能寻址?为什么?

【问题讨论】:

  • 这是一个测验?....

标签: c memory-management var


【解决方案1】:

C中寄存器变量无法寻址的原因可以在这里找到:

Address of register variable

【讨论】:

    【解决方案2】:

    C99 标准的第 6.5.3.2 节(重点是我的)解决了*

    一元& 运算符的操作数应为函数指示符, [] 或一元 * 运算符,或指定不是位字段且未使用 register 存储类说明符声明的对象的左值


    * 哈哈

    【讨论】:

      【解决方案3】:

      寄存器变量不能通过这种方式访问​​。寄存器没有地址。因此,您不能将地址运算符 (&) 应用于寄存器变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        • 2012-04-21
        • 1970-01-01
        相关资源
        最近更新 更多