重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言宏函数字符串 c语言中的宏

C语言 宏定义变字符串问题

宏不是函数,顶多可以用有参宏,启手但宏绝不是函数,宏,说白了,它的纳孝作用就是代码字面洞旁稿上的替换

成都创新互联公司专注于企业营销型网站建设、网站重做改版、通道网站定制设计、自适应品牌网站建设、HTML5建站成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为通道等各大城市提供网站开发制作服务。

#define FUN() “ !C*!D+A*!B*!D+!A*B*!C+A*B*C*D ”

char *str=FUN();

就完全等价于char *str=“ !C*!D+A*!B*!D+!A*B*!C+A*B*C*D ” ;

在C语言宏定义中,用一个标识符来表示一个字符串

宏定义 #define N 100

是预编译命令亩举,它的意思是 对下面程序中出现的 ( token) N 作字符替代,把所有的

N 用 100 替代后 再进行 编译。 这里的 100 是一串字符, 而不叫 “字符串”早亩,

字符串 是 术语,指的是 c/c++ 中的 “字符串常量”,即双引号括起来的一串字符 加陆耐森 一个不可见的 字符串结束符 构成的 对象。

c语言如何把某个函数名转换为字符串

根据编译环境,有如下方式:

1 部分编译器中,支持__FUNCTION__或__func__宏。该宏为编译器定义,值为被调用函数的函数名转换成的字符串。如在func()中调用__FUNCTION__,则该宏的值为"func"。

2 如果编译器不支持上述宏名,那么需要手动添加宏。可以有如下两种方式:

a. 直接定义对应字符串,如

#define FUNC_NAME "func"

字符串中的直接写明。

b. 统一函数转换。利用宏定义的#操作,可蠢汪以实现标识符向字符串的简棚转换。

#define FUNC_NAME(x) #x

这时调用FUNC_NAME(func)就等拦档则效于"func"。

C语言 宏定义字符串问题

用拼接迟慧符可以做到

#define STRING(arg) "AAAAAAA"##arg##"BBBBBBBBBB"

但码弊答arg必卜凯须是个常量,不能是变量


当前文章:c语言宏函数字符串 c语言中的宏
网址分享:http://cqcxhl.cn/article/ddpidpp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP