色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

C語言中用宏怎么構(gòu)造標(biāo)識符

時間:2025-12-07 08:44:21 C語言 我要投稿

C語言中用宏怎么構(gòu)造標(biāo)識符

  導(dǎo)語;標(biāo)示符(IDentifier)是指用來標(biāo)識某個實體的一個符號。在不同的應(yīng)用環(huán)境下有不同的含義。那么用宏怎么構(gòu)造標(biāo)識符呢?一起來學(xué)習(xí)下吧:

  怎么用宏來構(gòu)造標(biāo)識符,需要引用符號粘貼操作符——##,“##”的作用是將右邊“操作數(shù)”追加到左邊“操作數(shù)”,將最后的符號標(biāo)識作為變量的標(biāo)識符,不過最后的標(biāo)識符要符合標(biāo)識符的規(guī)定。

  例如:

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

  應(yīng)用:

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

  printf(“%s ”, test);

  又如:

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

  應(yīng)用:

  PASTE(te, st) = “Hello, world!”;/pic/p>

  printf(“%s ”, test);

  上面兩個例子最終都會構(gòu)造出test標(biāo)識符。

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

  #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語言中用宏怎么構(gòu)造標(biāo)識符】相關(guān)文章:

C語言標(biāo)識符的分類02-06

C語言宏定義01-19

C語言入門知識:標(biāo)識符11-08

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

C語言宏定義技巧01-11

C語言的assert斷言宏03-10

C 語言中宏的使用11-01

C語言預(yù)定義宏用法09-29

關(guān)于C語言宏定義的技巧08-26

  • 相關(guān)推薦