• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    如何理解C語言中的特殊宏

    C語言中宏只是在C編譯預處理階段的一種文本替換工具,編譯完成后,其對二進制代碼是不可見的,這里我們將介紹幾個比較特殊的宏,很常見但是又易忘記。

    工具/材料

    C語言

    編譯IDE

    操作方法

    • 01

      x##y
      該宏用法表示連接x和y,如果宏體所在標示符中有##,那么在宏體擴展的時候,宏參數會被直接替換到標示符中。

    • 02

      *#x
      表示將x轉化成字符,如果宏參數前加入*#,則在擴展的時候,宏參數將會被展開成字符。

    • 03

      #x
      表示將x轉化成字符串,如果宏參數前加個#,那么在宏體擴展的時候,宏參數會被擴展成字符串的形式。

    • End

    特別提示

    由于宏定義是單純的文本替換,預處理器不對宏體做任何語法檢查,所以在使用的時候要特別小心,對于很長的功能來說建議還是使用函數比較好。

    • 發表于 2017-08-29 00:00
    • 閱讀 ( 1210 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆