(5)预处理指令【通常不能写在函数内部】,有些编译器的扩展允许将预处理指令写在函数里,但强烈不建议这么干。 15.2 宏定义 #define ① 宏定义 —— 用于文本替换 #define 1.使用宏定义定义【常量】2.使用宏定义给【数据类型】取别名(建议使用typedef)3.【表达式和语句】也可以作为宏定义的替换文本4.替换...
\ fprintf(stderr,msg,##args) //C99 的用法 #define info1(msg,...) \ fprintf(stderr,msg,##__VA_ARGS__) int main(void) { int a=3,b=5; debug("a=%d,b=%d\n",a,b); debug1("a=%d,b=%d\n",a,b); printf("---\n"); info("12312312312312312\n"); info1("a=%d,...
#define inpw(port) (*((volatile word *) (port))) #define inpdw(port) (*((volatile dword *)(port))) #define outp(port, val) (*((volatile byte *) (port)) = ((byte) (val))) #define outpw(port, val) (*((volatile word *) (port)) = ((word) (val))) #define outpdw(po...
define 定义一个标识符来表示一个常量。其特点是定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。用 #define 定义标识符的一般形式为:define 标识符 常量 //注意, 最后没有分号 define 和 #include 一样,也是以“#”开头的。凡是以“#”...
1、define——(无参数宏定义)用法 一般形式为:#define标识符字符串 (1)“#”表示其为预处理命令,凡是以“#”开头的都是预处理命令;“define”为宏定义命令;“标识符”为所定义的宏名;“字符串”可以是常数、表达式、字符串等。 (2)除了经常用到的如“#define MAXNUM 100”之外,还有其它多种灵活的用法,如...
C语言中的#define是一个预处理指令,它的主要作用是宏定义。当你在程序中看到像"#define N 常量值"这样的语句时,它实际上是在告诉编译器,将"常量值"替换为在程序中遇到的"N"标识符。例如,如果定义了#define N 10,那么在代码中的"N"将被替换成"10",从而实现常量的全局替换。在长代码项目中...
一、define 关键字的基本概念 define 这个单词,在 C 语言中属于关键字,而所谓关键字就是指用户不能用于自定义变量命名的保留字符。define 关键字在 C 语言中具有声明一个宏的功能,而所谓“宏”,在执行逻辑上相当于引用。使用 define 声明一个宏的具体使用格式为:井字号define宏名 宏值。在使用时,本文建议...
#define W_PTR( var ) ( (word *) (void*) &(var) ) 10,得到一个字的高位和低位字节 #define WORD_LO(xxx) ((byte) ((word)(xxx) & 255)) #define WORD_HI(xxx) ((byte) ((word)(xxx) >> 8)) 11,返回一个比X大的最接近的8的倍数 ...
#define N 100 二、冒号 (一)继承 1.class或struct后面的冒号是用来定义类的继承 #include<iostream> using namespace std; // 基类 class Animal { // eat() 函数 // sleep() 函数 }; //派生类 class Dog : public Animal { public: void bark() {cout << "woof" <<endl;} }; int main()...
1)define是一个预处理指令,const是一个关键字。 2)define定义的常量编译器不会进行任何检查,const定义的常量编译器会进行类型检查,相对来说比define更安全 3)define的宏在使用时是替换不占内存,而const则是一个变量,占内存空间 4)define定义的宏在代码段中不可寻址,const定义的常量是可以寻址的,在数据段或者栈段...