Pregunta sobre C

rot
04 de Mayo del 2008
驴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?

PoWeRsgame
04 de Mayo del 2008
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

rot
04 de Mayo del 2008
mil gracias.