Я рассматриваю приложение, которое определяет большой набор постоянных массивов. Что меня действительно смущает, так это использование двух знаков фунта рядом друг с другом в макросе. Например:
#define r0(p,q,r,s) 0x##p##q##r##s
Что означают эти два знака фунта?
##
предоставляет способ объединять фактические аргументы во время макроразложения.