1. 程式人生 > >記:巨集定義中的##和#的作用

記:巨集定義中的##和#的作用

核心中有很多的巨集定義,在巨集定義define中經常看到兩個字串##和#,這裡把它的用法做一下說明: 

一、 ##是一個連線符號,用於把引數連在一起         例如: 
            > #define  FOO(arg)   my##arg         則 
            > FOO(abc)         相當於   myabc     

二、 #是“字串化”的意思。出現在巨集定義中的#是把跟在後面的引數轉換成一個字串         例如: 
            > #define STRCPY(dst, src)   strcpy(dst, #src)         則 
            > STRCPY(buff, abc)         相當於   strcpy(buff, "abc") 

      #define CON(n)  #n"good" 那麼

     int id = 10;CON(id)的值就是idgood