<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言中用宏怎么構造標識符

            時間:2025-06-02 10:42:26 C語言 我要投稿
            • 相關推薦

            C語言中用宏怎么構造標識符

              導語;標示符(IDentifier)是指用來標識某個實體的一個符號。在不同的應用環境下有不同的含義。那么用宏怎么構造標識符呢?一起來學習下吧:

              怎么用宏來構造標識符,需要引用符號粘貼操作符——##,“##”的作用是將右邊“操作數”追加到左邊“操作數”,將最后的符號標識作為變量的標識符,不過最后的標識符要符合標識符的規定。

              例如:

              #define PASTE(a, b) a##b

              應用:

              char *PASTE(te, st) = “Hello, world!”;

              printf(“%s ”, test);

              又如:

              #define PASTE(a, b) char *a##b

              應用:

              PASTE(te, st) = “Hello, world!”;//te、逗號、空格、st,逗號是用來隔開標識符的,空格會被自動忽略掉

              printf(“%s ”, test);

              上面兩個例子最終都會構造出test標識符。

              又Linux kernel的sysfs中,DEVICE_ATTR、DRIVER_ATTR、CLASS_ATTR、BUS_ATTR的標識符定義也用了“##”粘貼操作符,如下:

              #define BUS_ATTR(_name, _mode, _show,_store)

              struct bus_attribute bus_attr_##_name =__ATTR(_name, _mode, _show, _store)

              #define CLASS_ATTR(_name, _mode, _show,_store)

              struct class_attributeclass_attr_##_name = __ATTR(_name, _mode, _show, _store)

              #define DRIVER_ATTR(_name, _mode, _show,_store)

              struct driver_attributedriver_attr_##_name =

              __ATTR(_name, _mode, _show, _store)

              #define DEVICE_ATTR(_name, _mode, _show,_store)

              struct device_attribute dev_attr_##_name= __ATTR(_name, _mode, _show, _store)


            【C語言中用宏怎么構造標識符】相關文章:

            C語言標識符的分類09-18

            C語言宏定義07-01

            C語言入門知識:標識符08-23

            C語言的assert斷言宏10-21

            C語言宏定義技巧09-03

            C語言的宏定義分析09-10

            C 語言中宏的使用08-02

            C語言預定義宏用法10-06

            關于C語言宏定義的技巧09-21

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院