Comment convertir une chaîne en un nom de variable en utilisant une macro?

#define TRACE(arg1,...) char* arg1; int main(void) { int a=4; TRACE(("Hello",a)); // convert "Hello" to a valid char variable name. return 0; } 

Je ne parviens pas à convertir la chaîne "Hello" en un nom de variable. par exemple: "Hello" doit être converti en const char* Hello; en utilisant une macro. Puisqu’il y a des guillemets, je suis incapable de le convertir. Ceci est ma première question dans Stack Overflow.

Vous ne pouvez pas “détruire” une chaîne en C.

Vous pouvez cependant ssortingngifier un jeton, alors la solution consiste à l’inverser: utilisez le jeton hello et réglez-le lorsque vous avez besoin de "hello" .

Merci à vous tous d’avoir consacré votre temps précieux à répondre à ma question. Certains de vos commentaires m’ont donné une idée pour sortinger la réponse. vous pouvez trouver la réponse ci-dessous:

 #define TRACE(arg1,...) TRACE2 arg1 #define TRACE2(arg1, arg2) static const char arg1; \ printf("%p\n",(void*)&arg1);\ printf("%d\n",arg2);\ 

Si des modifications peuvent être apscopes à ce code, veuillez me le faire savoir.