helloxiaoli2 2021-06-26 22:29 采纳率: 50%
浏览 18

能举个数组名作左值的例子吗?

#include <stdio.h>
int main()
{
    int a[3]={1,2,3};
    printf("%p\n", &a);
    return 0;
}

a是指针常量,取地址运算符运算对象是左值。

常量不应该是右值吗?该怎么理解?

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-06-26 22:53
    关注

    取地址运算符只能是右值,没毛病

    a数组本身是常量,不能修改a数组的地址,但a数组本身存储的地址不是常量啊

    数组作为左值的例子:

    int k = 0;

    a = &k;

    这样就会提示:表达式必须是可修改的左值

    评论

报告相同问题?