Cual es la principal diferencia entre una Constante y un Define?

Carlos Lefin Henriquez

Carlos Lefin Henriquez

Pregunta
studenthace 5 años

Cual es la principal diferencia entre una Constante y un Define?

2 respuestas
para escribir tu comentario
    Irving Juárez

    Irving Juárez

    studenthace 4 años

    La directiva preprocesador define puede incluso hacer operaciones, tales como sumas o restas, en cambio las consts no pueden hacer eso, como en el siguiente ejemplo:

    #include <stdio.h> #define MAX (a > b) ? a : b int main(){ int a = 1, b = 2; printf("El numero mayor es: %d \n", SUM a); return 0; }

    Esto es un ejemplo mas complejo pero es una buena manera de diferenciarlo

    Miguel Angel Velazquez Romero

    Miguel Angel Velazquez Romero

    studenthace 5 años

    La directiva #define es una directiva de preprocesador; el preprocesador reemplaza esas macros por su cuerpo antes de que el compilador lo vea. Piense en ello como una búsqueda y reemplazo automático de su código fuente.

    Una declaración de variable const declara una variable real en el lenguaje, que puedes usar ... bueno, como una variable real: toma su dirección, pásala, usa cast, conviértela, etc.

    Sobre el endimiento: tal vez esté pensando que evitar la declaración de una variable ahorra tiempo y espacio, pero con cualquier nivel de optimización del compilador sensible no habrá diferencia, ya que los valores constantes ya se sustituyen y se pliegan en el momento de la compilación. Pero obtienes la gran ventaja de verificar el tipo y hacer que el depurador conozca tu código, por lo que realmente no hay razón para no usar variables const.

Curso de Introducción a C

Curso de Introducción a C

Aprende los fundamentos de C para desarrollar software. Descubre cómo funcionan los programas en C, declara variables, trabaja con tipos de datos y constantes. Ideal para quienes inician en este potente lenguaje de programación.

Curso de Introducción a C
Curso de Introducción a C

Curso de Introducción a C

Aprende los fundamentos de C para desarrollar software. Descubre cómo funcionan los programas en C, declara variables, trabaja con tipos de datos y constantes. Ideal para quienes inician en este potente lenguaje de programación.