<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言中用宏怎么構造標識符

    時間:2025-12-07 08:44:21 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!”;/pic/p>

      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語言標識符的分類02-06

    C語言宏定義01-19

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

    C語言的宏定義分析01-29

    C語言宏定義技巧01-11

    C語言的assert斷言宏03-10

    C 語言中宏的使用11-01

    C語言預定義宏用法09-29

    關于C語言宏定義的技巧08-26

    • 相關推薦
    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人