
Leonardo Esteban Omeara Garzon
PreguntaHola a todos! No entendí muy bien la diferencia entre #define o declarar una variable const. ¿Cual es la diferencia entre las dos?
Dan Yael Sajarópulos Verdugo
La diferencia es que el valor del #define es sustituido en el proceso de compilación, es el equivalente a un alias para un valor, mientras que el const existe en un espacio de memoria durante la ejecución.
Por ejemplo:
#include <stdio.h> #define NOMBRE "Leonardo" #define EDAD 20 int main() { printf("%s is over %d years old.\n", NOMBRE, EDAD); return 0; }
En la etapa de compilación, durante el preproceso del código fuente, el código quedaría así:
int main() { printf("%s is over %d years old.\n", "Leonardo", 20); return 0; }
Sólo se sustituirían los valores, como si se tratase de un alias.