Pregunta sobre C
¿Qué diferencia hay entre una constante del tipo
(#define PI 3.14) con una variable
que no se va a modificar que contiene el mismo valor?
(#define PI 3.14) con una variable
que no se va a modificar que contiene el mismo valor?
La principal diferencia es que al usar una variable consumirias recursos del PC de forma inecesaria, además de poder cambiar el valor de la variable por error.
Cuando ponemos una linea del código con # al inicio, esto es una instrucción para el compilador. A ver por ejemplo al usar la instruccion #define N 4 le estas diciendo al precompilador que cuando vea en el código la constante N la cambie por un 4, esto se hace en tiempo de compilación por lo que no consume recursos en tiempo de ejecución.
Si utilizamos una variable, además de tener que declarar esta como global para que sea accesible desde cualquier parte del código, el valor de la variable se guardará en una dirección de memoria., de forma que cada vez que se quiera acceder ha este valor se va a tener que leer de memoria haciendo un programa menos eficiente, ya que ocuparia más memoria y se accedería más veces a memoria.
Saludos
Cuando ponemos una linea del código con # al inicio, esto es una instrucción para el compilador. A ver por ejemplo al usar la instruccion #define N 4 le estas diciendo al precompilador que cuando vea en el código la constante N la cambie por un 4, esto se hace en tiempo de compilación por lo que no consume recursos en tiempo de ejecución.
Si utilizamos una variable, además de tener que declarar esta como global para que sea accesible desde cualquier parte del código, el valor de la variable se guardará en una dirección de memoria., de forma que cada vez que se quiera acceder ha este valor se va a tener que leer de memoria haciendo un programa menos eficiente, ya que ocuparia más memoria y se accedería más veces a memoria.
Saludos