define的函数用法
程序员文章站
2024-03-23 10:31:04
...
- 定义常量,比如#define max 10;此时就是一个文本的替换
- 定义函数,比如 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 此时就和定义了比大小的函数一样
- 注意:define是简单的文本替换,也就是说这并没有你想的那么好用比如说
就是因为它只是单纯的文本调换,所以要记得加括号#include<stdio.h> #define add(a,b) a*b #define add1(a,b) (a)*(b) int main (void) { printf ("%d\n",add(1,2)); //2 printf ("%d\n",add(1+2,2+3)); //8 printf ("%d\n",add1(1+2,2+3)); //15 }
- #define MAX(a,b) ((a) > (b) ? (a) : (b))这一条也比较常用,总之要在描述作用时把括号带上
- 另外有人会这么写
#define pin int * pin a,b;
本意其实都想让a和b成为int型指针,但是实际上却变成了int *a,b;a是int型指针,b是int型变量,咋处理捏?这个时候typedef就出来了,它说我可以满 足define满足不了的要求,所以改成typedef pin (int *)
- 注意:define是简单的文本替换,也就是说这并没有你想的那么好用比如说
上一篇: go语言刷题:20. 有效的括号
下一篇: webSocket