ExpertiDict

C · Avançado · Português · Técnico

stringificação

/is.tɾĩ.ʒi.fi.kaˈsɐ̃w/substantivo

Operador # dentro de uma macro com parâmetros, que transforma o argumento em um literal de string. Permite imprimir o texto exato da expressão passada.

Onde usar

Usado em macros de assert e de log para mostrar o código que falhou. O argumento não é expandido antes, a menos que se use uma macro intermediária.

Em código

#define MOSTRA(e) printf(#e " = %d\n", e)
int x = 6;
MOSTRA(x * 7); // imprime: x * 7 = 42

Exemplos

O assert usa stringificação para imprimir a condição que falhou.

Com stringificação, a macro mostra o código e o valor da expressão.

Cuidado

Esperar que # mostre o valor de outra macro: sem uma macro auxiliar, ele usa o nome literal.

Sinônimos

operador #

Veja também

Todos os termos de C