Konkatenations-Operator ##
Das doppelte ##
ist ein Makro-Operator, der eine Konkatenation der beiden Operanden links und rechts ohne zusätzlichen Abstand bewirkt. Dadurch wird aus zwei Symbolen eines, weswegen dieser Makro-Operator auch Symboloperator
und im Englischen als Tokenizer
bezeichnet wird. Im folgenden Beispiel wird automatisch die Float-Variante der übergebenen Mathematik-Funktion aufgerufen:
PI = 3.000000
#include <stdio.h>
#include <math.h>
#define MATH(func, args) func ## f (args)
int main(){
printf("PI = %f\n", MATH(floor, 3.14));
return 0;
}