c语言的宏

在程序编写时会有时会出现这样的情况:同一个数字或是同一个字符串要出现数次,到了维护的时候这些数字或字符串要同时改动替换掉,如果只是出现几次还好,如果这个数字或字符串要出现几十次或几百次的话改动起来就非常麻烦。这样的话在编写代码时可以考虑宏的使用。
宏属于预处理命令,并不属于c语言。简单来讲就是原封不动的替换。
看下面这段代码:
#define IT 30
int main (int arge, counst char * argv[])
{
    int a[IT];
    for (int i = 0; i < IT; i++ )
    {
 a[i] = i + 10;
    }
    for (int i = 0; i < IT; i++ )
    {
 printf("a[%d] = %d",a[i])
    }
    return 0;
}
最上面的 #define IT 30 ,这句话是宏的定义,把程序中IT的全部换成30。当我们需要使IT替换其他数字或字符时只需要把#define IT 30 这段代码修改一下就好了。
需要注意的地方:1,宏名一般用大写(小写的话,在阅读时会有障碍)2,宏定义写在函数花括号外边 3,字符串""中永远不包含宏例如printf("IT");这条语句不会输出30,而是输出IT。

另外宏还可以这样用
#define ADD(A,B)((A)+(B))
int main (int argc,const char* argv[])
{
 int add;
 add = ADD (7,9);
 printf("%d",add);
 return 0;
}
输出结果是16
这里的宏是带参数的。需要注意的地方:所有的参数需要加变量,最后表达式要加括号,宏名和参数之间不能有空格,宏展开时会使程序变长。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值