Recomendado, 2024

La Elección Del Editor

Diferencia entre definición y declaración

Definición y Declaración son términos muy confusos si eres nuevo en la programación. Los dos conceptos son diferentes de alguna manera, ya que la definición involucra la asignación de memoria a las variables mientras que en la memoria de declaración no está asignada. La declaración se puede hacer más de una vez; a la inversa, una entidad se puede definir exactamente una vez en un programa.

La definición es automáticamente una declaración en la mayoría de los escenarios. Ahora entendamos la diferencia entre definición y declaración con la tabla de comparación detallada.

Gráfica comparativa

Bases para la comparaciónDefiniciónDeclaración
BASICDetermina el valor almacenado en variable, función o clase.Especifica el nombre y tipo de variable, función, clase, etc.
Asignación de memoriaOcurreNo tiene lugar.
RepeticiónLas declaraciones no se pueden definir de nuevo si una vez que ya está definido.La redeclaración puede ser fácilmente posible.
AlcanceSe determina la duraciónSe especifica la visibilidad

Definición de definición

La definición identifica el código o los datos asociados con el nombre de la variable, función, clase, etc. El compilador requiere necesariamente la definición para asignar el espacio de almacenamiento para la entidad declarada. Cuando se define una variable, contiene una cantidad de memoria compuesta por varios bytes para esa variable. Una definición de función produce código para la función. Podemos definir un elemento de programa solo una vez en un programa porque la definición es una especificación única de un elemento de programa. La relación entre declaración y definición puede ser de uno a muchos .

En algunas situaciones, un elemento de programa no se puede definir sino declarar, por ejemplo, cuando una función nunca se invoca o su dirección nunca se usa, incluso si se declara. Otro ejemplo es aquel en el que la definición de clase no se usa mientras se debe declarar.

Definición de Declaración

Declaración se utiliza para especificar los nombres del programa, como el nombre de una variable, función, espacio de nombres, clases, etc. No se puede usar un nombre en un programa sin su declaración. Los elementos del programa se pueden declarar varias veces, a diferencia de la definición. Las declaraciones múltiples solo se pueden lograr cuando las diferentes declaraciones se realizan utilizando el formato idéntico. La declaración es el medio para proporcionar visibilidad al elemento del programa en la perspectiva de los compiladores.

La declaración sirve para el propósito de la definición, solo en ciertos casos la condición no está implícita como se indica a continuación.

  • Cuando el miembro de datos estáticos se declara dentro de una declaración de clase, en ese caso, no es una declaración. Porque genera una sola copia para todos los objetos de la clase y los miembros de datos estáticos son los componentes de los objetos de un tipo de clase proporcionado.
  • Si una declaración es typedef declaración.
  • Una variable se declara sin inicializador o cuerpo de función, pero incluye especificadores externos. Indica que la definición podría ser para la otra función y proporciona el nombre de enlace externo.
  • La declaración del nombre de la clase sin incluir una definición como la clase T;

Por lo general, la declaración se lleva a cabo en un ámbito de aplicación . El alcance decide la visibilidad del nombre declarado y la duración del objeto definido.

Diferencias clave entre definición y declaración

  1. La definición de un elemento de programa determina el valor asociado con ese elemento. Por otro lado, la declaración de un elemento de programa especifica su nombre y tipo para el compilador.
  2. La definición del elemento del programa reserva cierta cantidad de memoria mientras que la declaración no implica asignación de memoria.
  3. Un elemento de programa puede ser declarado varias veces. A la inversa, la definición incorpora una especificación única con el nombre del elemento del programa que podría distinguirse por cualquier código o datos.
  4. El alcance en la declaración describe la visibilidad de la variable, función, objeto, clase, enumeración, etc. En contraste, en la definición el alcance se relaciona con la duración.

Ejemplo de definición

  • Definición de variable así como la declaración:
    int r = 10;
  • Definición de la función:
     int add (int x, int y) {int a; a = x + y; devuelve un } 

Ejemplo de Declaración

  • Declaración de variable:
    extern int r;
  • Declaración de función:
    int add (int p1, int p2);

Conclusión

El proceso de declaración se utiliza para hacer que el elemento del programa sea visible para el compilador, y no requiere asignar la memoria. La definición inversa es una declaración que reserva el almacenamiento, en palabras simples el compilador reserva el espacio de memoria para la entidad declarada.

Top