#include <stdio.h>
int main()
{
int a[3]={1,2,3};
printf("%p\n", &a);
return 0;
}
a是指针常量,取地址运算符运算对象是左值。
常量不应该是右值吗?该怎么理解?
#include <stdio.h>
int main()
{
int a[3]={1,2,3};
printf("%p\n", &a);
return 0;
}
a是指针常量,取地址运算符运算对象是左值。
常量不应该是右值吗?该怎么理解?
取地址运算符只能是右值,没毛病
a数组本身是常量,不能修改a数组的地址,但a数组本身存储的地址不是常量啊
数组作为左值的例子:
int k = 0;
a = &k;
这样就会提示:表达式必须是可修改的左值