关闭

宏定义

132人阅读 评论(0) 收藏 举报
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。

  在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。

  看下面的例子:

  #define MALLOC(n, type) \

  ( (type *) malloc((n)* sizeof(type)))

  利用这个宏,我们就可以为任何类型分配一段我们指定的空间大小,并返回指向这段空间的指针。我们可以观察一下这个宏确切的工作过程:

  int *ptr;

  ptr = MALLOC ( 5, int );

  将这宏展开以后的结果:

  ptr = (int *) malloc ( (5) * sizeof(int) );

example:

define的单行定义

#define maxi(a,b) (a>;b?a:b)

define的多行定义(注意加\)
//宏定义写出swap(x,y)交换函数
#define swap(x, y)\
x = x + y;\
y = x - y;\
x = x - y;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:35640次
    • 积分:532
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:30篇
    • 译文:0篇
    • 评论:1条
    最新评论