宏定义中的“#”与“##”

宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。

10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有阿坝州免费网站建设让你可以放心的选择与我们合作。

  1. 宏定义里面有个##表示把字符串联在一起。如:
#include 
#define CAT(x,y) x##y
int main()
{
    char helloworld[] = "hi, hello world!";
    printf("%s", CAT(hello, world));
    return 0;
}
  1. 宏定义中的#表示将其变为字符串。如:
#include 
#include
#define STRCPY(a, b) strcpy(a ##_p, #b)
int main()
{
    char arrr_p[]="abcdefg";
    char *bb = "123456";
    STRCPY(arrr, bb);
    printf("%s\n",arrr_p);
    return 0;
}

网站栏目:宏定义中的“#”与“##”
本文来源:http://hxwzsj.com/article/gsccpi.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆网站设计 成都网站建设 成都网站制作 成都网站制作 自适应网站建设 成都商城网站建设 网站建设方案 手机网站制作 成都网站建设 泸州网站建设 四川成都网站建设 成都网站制作 定制网站设计 成都网站设计 手机网站建设 成都商城网站建设 成都网站建设 成都网站建设公司 成都网站设计 成都企业网站设计 网站设计 成都网站设计