在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      博客專欄

      EEPW首頁 > 博客 > C語言中#和##的區(qū)別

      C語言中#和##的區(qū)別

      發(fā)布人:電子禪石 時(shí)間:2023-04-25 來源:工程師 發(fā)布文章
      C語言中#和##的區(qū)別
      
      .關(guān)于#和##
      在C語言中宏定義中,#的功能是將其后面的宏參數(shù)進(jìn)行字符串化操作。
      
      #include<stdio.h>
      #define Str(s) #s
      int main()
      {
          printf(Str(HelloWorld));
          return;
      }

      結(jié)果為:


      ##是連接符,前加##或后加##,將標(biāo)記作為一個(gè)合法的標(biāo)識(shí)符的一部分,不是字符串.多用于多行的宏定義中。

      #include<stdio.h>
      #define Var(x) var##x
      int main()
      {
          int Var(1)=1,Var(2)=2,Var(3)=3;//不是字符串 這里是一個(gè)變量
          printf("var1=%d\n",var1);
          printf("var2=%d\n",var2);
          printf("var3=%d\n",var3);
          return 0;
      }


      結(jié)果為: 


      2.##與typedef、#define的使用

      win32圖形庫的代碼:

      1 #define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name2 DECLARE_HANDLE(HINSTANCE);

      HINSTANCE為句柄的數(shù)據(jù)類型(句柄:Windows操作系統(tǒng)為各應(yīng)用程序騰出一些內(nèi)存儲(chǔ)地址,用來專門登記各應(yīng)用對(duì)象在內(nèi)存中的地址變化,可理解為:句柄地址(穩(wěn)定)→記載著對(duì)象在內(nèi)存中的地址→對(duì)象在內(nèi)存中的地址(不穩(wěn)定)→實(shí)際對(duì)象)。

      宏展開:

      1 struct HINSTANCE__ { int unused;};2 typedef struct HINSTANCE__ *HINSTANCE;

      其中##的作用為將參數(shù)名與__連接。

       參考http://blog.csdn.net/acs713/article/details/6891837

      http://blog.chinaunix.net/uid-27666459-id-3772549.html


      *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



      關(guān)鍵詞: c

      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉