【发布时间】:2015-03-04 04:58:45
【问题描述】:
使用 Pelles C 我想显示或记录一个无符号字符数组。
是否可以使用 stringize 宏将整个数组显示为十六进制值,而不是使用 printf(%x) 遍历数组?
【问题讨论】:
标签: c macros c-preprocessor stringification pelles-c
使用 Pelles C 我想显示或记录一个无符号字符数组。
是否可以使用 stringize 宏将整个数组显示为十六进制值,而不是使用 printf(%x) 遍历数组?
【问题讨论】:
标签: c macros c-preprocessor stringification pelles-c
没有。字符串化只用双引号将指定的参数括起来。
【讨论】:
很遗憾,你不能。字符串化可以将您的标识符转换为字符串,但反之则不行。此外,它不能对变量包含的值做任何事情(既不读取也不写入),因为值可以在运行时确定,而宏在编译时扩展。
其实我觉得#和##这样的预处理技巧应该尽量避免,因为它们大大降低了可读性。 #include、#define 和 #if 大部分时间都够用了。
【讨论】: