define的函数用法

  1. 定义常量,比如#define max 10;此时就是一个文本的替换
  2. 定义函数,比如 #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 *)

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值