常量能取地址?进来看看···
在论坛看到这样的:,&运算符只能作用于变量,不能作用于常量。
这个对吗?
还有,请解释下面两段代码
(1)#include<stdio.h>
void main()
{
const int i=12; //常量
const int * j=&i;
printf("the adress is :%d/n",j);
}
(2)#include<stdio.h>
#define i 12 //常量
void main()
{
printf("the adress is :%d/n",&i);
}
都是常量,第一个怎么有地址,第二个怎么没有???
[解决办法]
宏替换是预编译的操作,为什么会有地址呢?你第2个实际上是printf("the adress is :%d/n",&12);
[解决办法]
咬文嚼字的话,应该是&运算符只能作用于变量,不能作用于字面量
字面量是直接量,数字的话就是 1 2 3 等等,字符串就是 abc def 等等
常量和变量在&运算符上是一样的,他们都有个代表的地址