全局变量和const定义
答案:1 悬赏:60 手机版
解决时间 2021-05-09 22:46
- 提问者网友:雨不眠的下
- 2021-05-09 06:12
全局变量和const定义
最佳答案
- 五星知识达人网友:封刀令
- 2021-05-09 07:46
1)预处理命令(#define)不能在任何函数体声明(包括main函数)
2)const和#define的区别,本质来说,一个是左值一个是右值。右值就是内存实际没有分配存储空间的值,另一说法是右值顾名思义就是能把值赋给别人,但是不能被赋值,例如a=3;其中3是右值,但是3=a;就是非法的,因为右值不能被赋值。const是左值值, #define出来的是右值.至于前面说的检测计算机是否给他分配了内存,只需要用指针测试一下就行了,例如:
#define element_1;
const int element_2;
int main()
{
const int *p=&element_2;//合法
p=&element_1;//非法,因为没有合适的地址给他做取地址操作
return 0;
}
2)const和#define的区别,本质来说,一个是左值一个是右值。右值就是内存实际没有分配存储空间的值,另一说法是右值顾名思义就是能把值赋给别人,但是不能被赋值,例如a=3;其中3是右值,但是3=a;就是非法的,因为右值不能被赋值。const是左值值, #define出来的是右值.至于前面说的检测计算机是否给他分配了内存,只需要用指针测试一下就行了,例如:
#define element_1;
const int element_2;
int main()
{
const int *p=&element_2;//合法
p=&element_1;//非法,因为没有合适的地址给他做取地址操作
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯