#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x

x##y表示什么?表示x连接y,举例说:
int  n = Conn(123,456);  结果就是n=123456;
char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";
怎么样,很神奇吧

再来看#@x,其实就是给x加上单引号,结果返回是一个const char。举例说:
char a = ToChar(1);结果就是a='1';
做个越界试验char a = ToChar(123);结果是a='3';
但是如果你的参数超过四个字符,编译器就给给你报错了!error C2015: too many characters in constant   :P

最后看看#x,估计你也明白了,他是给x加双引号
char* str = ToString(123132);就成了str="123132";

转载于:https://www.cnblogs.com/hjslovewcl/archive/2011/07/11/2314319.html

define特殊用法相关推荐

  1. typedef和#define的用法与区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  2. C语言中#define的用法(转)

    转自:http://www.dingge.com/main/article.asp?id=10 今天整理了一些#define的用法,与大家共享! 1.简单的define定义 #define MAXTI ...

  3. php中define的参数_php中define的用法有哪些

    php中define的用法:1.[define()]函数定义一个常量:2.定义常量名称及值,代码为[define(name,value,case_insensitive)]:3.定义一个大小写敏感的常 ...

  4. #define c# 报错_c语言中#define的用法

    c语言中#define的用法 C语言中,可以用 #define 定义一个标识符来表示一个常量.其特点是:定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了. 预编译又叫预处理.预编译 ...

  5. C++中 #define的用法

    C++中 #define的用法 转自:http://blog.csdn.net/lyl_98/article/details/900158 今天整理了一些#define的用法,与大家共享! 1.简单的 ...

  6. #define的用法

    #define的用法 #define的用法 #define 又称宏定义.用法:通过#define命令用一个指定的标识符代表一个字符串,这个标识符称为宏名.将程序中出现的与宏名相同的标识符替换字符串的过 ...

  7. C++ define的用法

    #define是预处理指令,说到这里,我们有必要说一下C++常见的预处理指令: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给 ...

  8. C语言#define的用法,C语言宏定义

    #define 叫做宏定义命令,它也是C语言预处理命令的一种.所谓宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串. 我们先通过一个例子来看一下 ...

  9. c语言define需要分号骂,C语言中define的用法

    C语言中define的用法 2016-01-06 15:00  来源: 博客园 define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便. 预处理命令以"#& ...

  10. C语言define高级用法大全

    今天在看代码时,突然发现很多define的用法看不懂,故在此总结一下,顺便吐槽一下,C语言的宏复杂起来真的很难看懂. 不信的去看下这个的源码:[C语言开源库]lw_oopc:轻量级的C语言面向对象编程 ...

最新文章

  1. 项目(五)jumpserver企业开源跳板机搭建
  2. 前端控制器html,DispatcherServlet(前端控制器)访问顺序和url匹配规则
  3. 强化学习(五)—— AlphaGo与Alpha Zero
  4. Python处理字符串和列表元组的小技巧
  5. 安卓连接mysql代码_用Eclipse开发android,怎么连接到数据库,最好有详细程序代码...
  6. Android NDK学习(七):NDK 编译支持 C++特有的库
  7. 汇编语言(九)之十六进制数值转二进制
  8. graph面板x轴模式包括哪些_发那科数控车床面板讲解
  9. 论文浅尝 | LightRNN:存储和计算高效的 RNN
  10. 一篇好的技术博文,快速让你通俗理解Python闭包!
  11. python生成词云图个人技术报告_【Python成长之路】词云图制作
  12. 【一分钟知识】梯度下降与牛顿法对比
  13. ISO50001认证咨询,企业申请ISO50001认证前要先进行哪些初始能源评审
  14. caffe教程 (2)
  15. 优维科技联合广发证券发起「CD持续交付一期项目复盘会」
  16. CCF题目:相邻数对
  17. 西南大学计算机考研资料汇总
  18. React tsx 生成随机验证码
  19. 初识-Python-day03
  20. hdu 4394 Digital Square【标准DFS】

热门文章

  1. 试设计递归算法dfs traverse_BFS 算法框架套路详解
  2. Qt实践录:非窗体代码片段
  3. 【Flink】Flink常量UDF-TableFunction优化
  4. 【Flink】Flink ChildFirstClassLoader loadClassWithoutExceptionHandling 空指针
  5. Error:scalac: missing or invalid dependency detected while loading class file ‘RDDOperationScope.cla
  6. datx 开启debug
  7. Cloud Native的设计哲学理念,kubernetes云生态操作系统
  8. Springboot 关于日期时间格式化处理方式总结
  9. 解决一个用Idea的Docker插件远程部署SpringBoot的失败问题
  10. 特征工程之特征预处理