macro_defintition

#include <stdio.h>


/*通过#define来定义宏,规则如下:#define 宏名(记号) 内容

在编译时,预处理器会进行宏替换操作,将程序中所有的全部替换成3.1415926,
注意这个与类型无关 ,是纯文本替换,相当与把我们的代码修改了,PI直接变成了3.1415926
定义其他任意内容,同样会替换到那个位置,但替换后,正常与否不知
*/

#define PI 3.1415926
#define P 23
#undef P//取消定义(undef:未定义)
#define sum a+b
#define text long
#define p(a) a*a//像函数,可以添加参数
#define say(i) printf("我是宏定义替换的值%d\n",i);//直接调用函数
#define say1(i) printf("我是宏定义替换的值"#i"");/*想在字符串中加宏定义中的参数
使用#直接在字符串中进行宏定义替换,否则默认情况下会被当作为一个字符*/
#define TEXT(i) x##i//##会使参数进行拼接

int main()
{
    /*printf("%.7f\n", PI);
    printf("%d", P);*/

    /*int a = 10, b = 20;
    printf("%d", sum * a);//纯文本替换
    printf("%d\n", a + b * a);*/

    /*text a = 12L;
    printf("%ld", a);*/

    /*printf("%d\n", p(2));//2为参数,p(2)会被替换成2*2
    say(23);
    say1(43);*/

    /*int TEXT(1) = 12;
    printf("%d", x1);*/

    /*系统提供的一些预定的宏:
    printf("%s\n", __DATE__);//__DATE__     当前的日期,格式为类似Apr 4 2024的字符串
    printf("%s\n", __TIME__);//__TIME__     当前的时间,格式为类似17:43:36的字符串
    printf("%s\n",__FILE__);//__FILE__     当前源代码文件的名称(含路径)的字符串
    printf("%d", __LINE__);//__LINE__     当前所处行数是多少就替换为多少的整数 
    */
    
}

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值