C语言变量声明有这样一条语句:#define FLAG ( (unsigned char)1<<4) 它声明的FLAG是什么类型的变量?
答案:3 悬赏:70
解决时间 2021-03-21 18:12
- 提问者网友:斩断情丝
- 2021-03-20 20:13
这样声明的好处是什么?
最佳答案
- 二级知识专家网友:飘零作归宿
- 2021-03-20 21:06
#define FLAG ( (unsigned char)1<<4)
#define是宏定义,FLAG是定义的宏名,没有类型
这个宏定义就是简单的替换,在调用时,用( (unsigned char)1<<4)替换FLAG
比如
int a;
a=FLAG*2; ==> a=( (unsigned char)1<<4)*2;
宏定义时,要注意符号
如果#define FLAG ( (unsigned char)1<<4) ;
则上一例就有问题
a=FLAG*2; ==> a=( (unsigned char)1<<4);*2;
显然是错误的。
宏定义的好处之一就是使代码看起来更简洁,易懂。
#define是宏定义,FLAG是定义的宏名,没有类型
这个宏定义就是简单的替换,在调用时,用( (unsigned char)1<<4)替换FLAG
比如
int a;
a=FLAG*2; ==> a=( (unsigned char)1<<4)*2;
宏定义时,要注意符号
如果#define FLAG ( (unsigned char)1<<4) ;
则上一例就有问题
a=FLAG*2; ==> a=( (unsigned char)1<<4);*2;
显然是错误的。
宏定义的好处之一就是使代码看起来更简洁,易懂。
全部回答
- 1楼网友:眠于流年
- 2021-03-20 22:50
你好!
这个不是变量声明,这是宏定义,这里的FLAG就是( (unsigned char)1<<4),就是说,再以后的程序中,凡是FLAG的就直接替换为( (unsigned char)1<<4)就行了。
如果对你有帮助,望采纳。
- 2楼网友:颜值超标
- 2021-03-20 22:32
无符号char型 0x08
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯