#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. javascript中作用域,优先级等等问题, 求助中。。。。。。。。
  2. JavaEE开发之Spring中的依赖注入与AOP编程
  3. 【Matlab】如何把数组矩阵写入txt文件?并用逗号或空格隔开
  4. cxf整合spring错误为:cvc-complex-type.2.4.c
  5. 【数据结构与算法】之深入解析“二叉搜索树中的插入操作”的求解思路与算法示例
  6. 如何看待自己写的烂代码
  7. 信息学奥赛C++语言:插队问题
  8. 一款好看的单页个人引导页源码
  9. 参考的datalist分页helper
  10. cookie代码加时间多久出现一次_JavaWeb——Cookie详解
  11. 从贝叶斯定理到模糊动态贝叶斯网络
  12. Jave基本知识(一)
  13. wepy集成colorui 样式框架
  14. win7从光盘进入修复计算机,win7光盘修复系统步骤
  15. 计算机音乐苹果手机,iPhone手机音乐如何导出电脑?
  16. ASK调制的matlab代码
  17. SWIG和MapGuide Web API
  18. 骑士精神(双向深搜+meet in the middle)
  19. 华联股份:范本式改造,BHG Mall全新升级开辟商业新契机
  20. 【ant design vue】 生成表格序号

热门文章

  1. 把地图中的道路以线条提取出来_自动驾驶中基于车道线的高清制图方法回顾
  2. ethtool源码分析
  3. 【ElasticSearch】Es 源码之 LicenseService 源码解读
  4. 【Elasticsearch】zen discovery集群发现机制
  5. 【Java】国外大神总结的 10 个 Java 编程技巧!
  6. 【MySQL】MySQL 8 连接出现 2059 - Authentication plugin caching_sha2_password ca
  7. mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
  8. typora设置代码不自动换行
  9. 【安全】Ceotos 7.5.1804 安装openldap 2.4.44
  10. Java7----ForkJoin框架