中易网

#define EXT_INT0 00 最后面的00 01 02 03 .... 什么意思 为什么这样定义?谢谢

答案:2  悬赏:0  
解决时间 2021-01-14 19:20
  • 提问者网友:niaiwoma
  • 2021-01-14 15:17
#define EXT_INT0 00 最后面的00 01 02 03 .... 什么意思 为什么这样定义?谢谢
最佳答案
  • 二级知识专家网友:零点过十分
  • 2021-01-14 15:45
在C语言的预处理中,可以允许只有标识符而没有字符串的形式。
AFX_EXT_API只是一个标识符,可以不定义值。这个标识符可以用来控制程序的流程。如果没有定义标识符XXX,则定义标识符XXX。

条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。
使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。

下面举个例子吧:

我们在写条件编译语句时一般写成:
#ifndef _FLAG
#define _FLAG 常量
#endif
但在很多程序的源代码中,只定义了标识符而没有定义常量(value)!就像前面程序中的
#ifndef _FLAG
#define _FLAG

以上这些都是合法的。
全部回答
  • 1楼网友:孤独入客枕
  • 2021-01-14 16:38
首先,00 01 02 这是八进制,在C语言中,八进制用 0 开头。至于为什么用宏定义,当你写300行代码的时候,你就可以明白了,也可以明白为什么将常量数字叫做幻数。多写代码,写多一点,这是学程序的最好方法。我的目标是写10000行,但目前为止单文件最多只写过300行。多多指教。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息