contador gratis Saltar al contenido

Diferencia entre definición y declaración

marzo 30, 2020

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

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

Cuadro comparativo

Bases para la comparación Definición Definición
Básico Determina el valor almacenado en variable, función o clase. Especifique el nombre y tipo de variable, función, clase, etc.
Asignación de memoria Ocurre No tiene lugar
repetición Las declaraciones no pueden definirse nuevamente si ya están definidas. La redeclaración puede ser fácilmente posible.
propósito La duración determinada La visibilidad especificada

Definición definición

La definición identifica el código o los datos asociados con el nombre de la variable, función, clase, etc. La definición necesariamente requerida por el compilador para asignar espacio de almacenamiento para la entidad declarada. Cuando una variable definida, contiene una cantidad de memoria compuesta de 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 -Uno-a-muchos .

En algunas situaciones, un elemento del programa no puede definirse sino declararse, por ejemplo, cuando una función nunca se invoca o su dirección nunca se usa, incluso si se declara. Otro ejemplo es donde la definición de clase no se usa mientras se declara.

Definición de declaración

La declaracion se usa para especificar nombres de programas como el nombre de una variable, función, espacio de nombres, clases, etc. Ningún nombre puede usarse 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 obtener cuando las diferentes declaraciones se realizan con el mismo formato. La declaración es el medio de proporcionar visibilidad al elemento del programa en la perspectiva de los compiladores.

La declaración tiene la intención de definir, solo en ciertos casos no implica la condición que se proporciona a continuación.

  • Cuando el miembro de datos estáticos declaró dentro de una declaración de clase, en ese caso, no una declaración. Debido a que genera solo una copia para todos los objetos de la clase y los miembros de datos estáticos son componentes de objetos de un tipo de clase suministrado.
  • Si una declaración es una declaración typedef.
  • Una variable se declara sin un iniciador 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 del enlace externo.
  • La declaración del nombre de clase sin incluir la definición como la clase T;

Por lo general, la declaración tiene lugar en un alcance . 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 del programa especifica su nombre y tipo al compilador.
  2. La definición del elemento del programa reserva una cierta cantidad de memoria, mientras que la declaración no implica la asignación de memoria.
  3. Un elemento del programa puede declararse varias veces. Por el contrario, la definición incorpora una especificación única con el nombre del elemento del programa que podría distinguirse de cualquier código o datos.
  4. El alcance de la declaración describe la visibilidad de la variable, función, objeto, clase, enumeración, etc. Por el contrario, en la definición, el alcance se refiere a la duración.

Ejemplo de definicion

Ejemplo de declaracion

  • Declaración 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 asignación de memoria. La definición inversa es una declaración que reserva el archivo, en palabras simples, el compilador reserva el espacio de memoria para la entidad declarada.