易截截图软件、单文件、免安装、纯绿色、仅160KB

C中宏#和##的运用

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a)  #a
#define h(a) g(a)
int main()   
{   
    char a = 'a';      
    printf("%s\n",g(a)); // a
    printf("%s\n",g(g(a))); // g(a)
    printf("%s\n", h(f(1,2)));   // 12
    printf("%s\n", g(f(1,2))); // f(1,2)
    printf("%s\n", g(h(f(1,2)))); // h(f(1,2))
    printf("%s\n", h(g(f(1,2)))); // "f(1,2)"
    printf("%s\n", h(h(f(1,2)))); // "12"
    return 0;   
}


相关文档:

【转】c判断大端小端模式

试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
解答:
int checkCPU( )
{
    {
           union w
           {  
  &n ......

不可小看的extern "C"

     项目中要用到一个模块。看了下该模块的用法,就依葫芦画瓢的搬到自己的代码里面来了。不过在编译的时候碰到了麻烦, 在程序链接的时候出错:“undefined reference to***",应该是因为没有包含相应的库文件吧。
      于是比较了make file文件的写法,试图在我这边 ......

Linux下c程序开发笔记

 第一章
1.
解释性语言:shell  javascript python  编程人员不需要经过编译 连接的过程,可以在特定环境下直接执行的语言  自动编译连接。开发效率高,但运行效率低。
编译型语言:java c c++,需要经过编程人员经过编译和连接产生可执行程序的语言。运行效率高。
2.
数据
数据结构:数据之间的 ......

[收藏]C/C++数组名与指针区别深层探索

根本原因在与左值和右值
char a[10]=“hello”;
sizeof(a);//数组名做左值,具有数组名的属性,是一个指向数组首地址的常量指针
strcpy(a,"abc");//数组名做右值,退化为普通的指针
原文链接:
 http://hi.baidu.com/%D2%C0%BD%A3%D0%F9/blog/item/7bbf36966c92f36a54fb9663.html
作者:宋宝华 e ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号