2012-08-31 19 views
8

¿Es posible declarar una variable en C, cuyo nombre da el usuario en tiempo de ejecución? ¿Si es así, entonces cómo?¿Es posible declarar una variable en C, cuyo nombre da el usuario en tiempo de ejecución?

+3

no, pero ¿qué harás una vez que defines la variable? – perreal

+0

Confíe en mí; esta es una idea horrible Desea utilizar una colección de algún tipo, probablemente algo que le permita usar una clave para buscar un valor (es decir, una tabla o algo similar). –

+0

@downvoter: ¿Me importa explicarme? – Quixotic

Respuesta

15

No, esto no es posible: los nombres de variables no sobreviven al paso de compilación, convirtiéndose en direcciones y desplazamientos "integrados" en el código binario compilado.

Sin embargo, es posible declarar una variable cuyo nombre da el desarrollador en tiempo de compilación utilizando un -D o una opción comparable de su compilador C.

+4

Explicación muy clara. –

2

Como dasblinkenlight ha respondido correctamente, no.

Lo que puede hacer y puede lograr sus objetivos de implementación, es crear y mantener en tiempo de ejecución su propio diccionario de cadenas y valores asociados.

Cuestiones relacionadas