#define

用于定义将识别符转换为指定字符串。

格式
#define 识别符 [(参数[,参数])] 转换字符串

参数

识别符
是字符串参数省略的关键字。识别符的规则如下所示。

  • 以字母开始,并使用字母数字和下划线( _ )进行创建。

  • 识别符中不能使用空格和制表符。

参数
指定可以在转换字符串中使用的1个或多个变量,并提供像宏那样的动态定义机制。#在#define命令中最多可以使用8个参数。请用逗号分隔各参数,并将参数列表放到括弧中。
转换字符串
是编译程序时被替换为识别符的转换字符串。与转换字符串相关的规则如下所示。

  • 在转换字符串中可以使用空格和制表符。

  • 与语句一起使用的识别符不能作为转换字符串使用。

  • 如果使用注释符号“ ' ”,后续字符将被判断为注释,而不包含在转换字符串中。

  • 转换字符串可以省略。此时,指定的识别符可以转换为空或Null字符串。由此,将从程序中删除该识别符。

  • 说明
    ​通过#define命令,指定的识别符将在程序内被替换。每次找到指定的识别符,都将转换为转换字符串并进行编译。但是,源代码自身不是转换字符串,而是以包括识别符的形式被保留。这是因为,在读取代码自身时,识别符比转换为字符串的代码更容易读取。

    定义的识别符可以作为是否组合#ifdef和#ifndef命令进行编译的条件来使用。

    如果指定参数,识别符可以作为宏使用。

    注意


    • #如果将#define用于变量声明和标签转换,将会出错。

      如果将#define命令用于变量声明,将会出错,敬请注意。


    参阅
    #ifdef, #ifndef

    #define使用示例

    '如果是调试模式,将取消对以下的行的注释
    ' #define DEBUG
    
    Input #1, A$
     #ifdef DEBUG
        Print "A$ = ", A$
     #endif
    Print "The End"
    
     #define SHOWVAL(x) Print "var = ", x
    
    Integer a
    
    a = 25
    
    SHOWVAL(a)