Operador de encadenamiento (#)
El operador de encadenamiento (#) es un operador de preprocesador que hace que el argumento real correspondiente se incluya en comillas dobles. El operador #, que generalmente se denomina encordar operador, convierte el argumento que precede en un cadena citada . También se le conoce como operador de encadenamiento.
Generalmente se usa con macros en C.
paloma de juego android
Ejemplo
El siguiente código C demuestra el uso del operador Stringizing (#).
C
>
>Producción
tipo de inserción
geeksforgeeks>
Explicación
El siguiente preprocesador convierte la línea printf(mkstr(geeksforgeeks)); en printf(geeksforgeeks);
Operador de pegado de tokens (##)
El Operador de pegado de tokens (##) permite concatenar tokens utilizados como argumentos reales para formar otros tokens. A menudo resulta útil fusionar dos tokens en uno mientras se expanden las macros. Esto se denomina pegado de tokens o concatenación de tokens.
El operador de preprocesamiento '##' realiza el pegado de tokens. Cuando se expande una macro, los dos tokens a cada lado de cada operador '##' se combinan en un solo token, que luego reemplaza el '##' y los dos tokens originales en la macro expansión.
Ejemplos
El siguiente código C demuestra el uso del operador de pegado de tokens (##).
C
topologias de red
// C program to illustrate (##) operator> #include> > // Macro definition using the Token-pasting operator> #define concat(a, b) a##b> int> main(>void>)> {> >int> xy = 30;> > >// Printing the concatenated value of x and y> >printf>(>'%d'>, concat(x, y));> >return> 0;> }> |
1 a 100 número romano
>
>Producción
30>
Explicación
El preprocesador transforma printf(%d, concat(x, y)); en printf(%d, xy);
Aplicación del operador de pegado de tokens (##)
## proporciona una forma de concatenar argumentos reales durante la expansión de la macro. Si un parámetro en el texto de reemplazo es adyacente a ##, el parámetro se reemplaza por el argumento real, el ## y el espacio en blanco circundante se eliminan y el resultado se vuelve a escanear.