Diferencia entre el tipo de valor y el tipo de referencia

Diferencia entre el tipo de valor y el tipo de referencia

Diferencia de claves: tipo de valor vs Referencia Tipo
 

Un lenguaje de programación está diseñado para dar instrucciones a la computadora para realizar tareas. El programa puede manipular datos que contienen números, caracteres y cadenas y producir información al usuario. Una secuencia de instrucciones escritas en un lenguaje de programación específico es un programa. En lenguajes de programación como C#, hay tokens. Esas son palabras clave, identificadores, literales y operadores. Las ubicaciones de memoria reservada para almacenar datos se conocen como variables. Una variable puede almacenar un valor de cierto tipo. Los tipos de datos se pueden dividir en tipo de valor y tipo de referencia. La diferenciación entre el tipo de valor y el tipo de referencia depende de dos características. Esas son donde las variables se almacenan en la memoria y cómo se comportan con una declaración de asignación. Este artículo analiza la diferencia entre el tipo de valor y el tipo de referencia. El diferencia clave Entre el tipo de valor y el tipo de referencia es que Un tipo de valor contiene un valor de datos dentro de su propio espacio de memoria, mientras que un tipo de referencia contiene un puntero a otra ubicación de memoria que contiene los datos.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es el tipo de valor?
3. ¿Qué es el tipo de referencia?
4. Similitudes entre el tipo de valor y el tipo de referencia
5. Comparación de lado a lado - Tipo de valor vs Tipo de referencia en forma tabular
6. Resumen

¿Qué es el tipo de valor??

Los tipos de valor se pueden dividir en dos categorías. Son tipos predefinidos y tipos definidos por el usuario. Los tipos predefinidos son proporcionados por el lenguaje de programación. Pueden ser numéricos, tipo de caracteres o tipo decimal. Los tipos numéricos pueden ser tipos integrales, tipos de puntos flotantes y tipos decimales. Los tipos integrales se pueden clasificar más en firmado y sin firmar. Los enteros firmados pueden almacenar un número positivo o negativo. Los SBYTE, Short, Int y Long son tipos de datos firmados.

El sybte es un byte, corto es dos bytes, int es cuatro bytes, y largo es ocho bytes. El tipo sin firmar almacena valores positivos. El byte, Ushort, Uint y Ulong son los ejemplos de tipos sin firmar. Los tipos de puntos flotantes pueden almacenar un valor numérico con un punto decimal. El flotador debe almacenar un valor de punto flotante de precisión simple de 32 bits, y el doble se usa para almacenar un punto flotante de precisión simple de 64 bits. El tipo decimal es para valores de alta precisión. El tipo de datos de char se usa para almacenar un solo carácter en la memoria. A veces se requiere almacenar un valor verdadero o falso. El booleano se usa para eso. Esos son algunos ejemplos de tipos de valor proporcionados por el lenguaje de programación.

El usuario también puede crear tipos de valor. Dos de estos tipos de valor definidos por el usuario son la estructura y las enumeraciones. Una estructura contiene datos de diferentes tipos. Es similar a una clase.  La palabra clave 'Estruct' se usa para declarar una variable de estructura.  Un ejemplo de la estructura es el siguiente.

Empleado de estructura

público int empno;

nombre de cadena pública;

Las enumeraciones se utilizan para aumentar la legibilidad del código. Se usa para dar nombres a los números. La palabra clave 'enum' se utiliza para declarar una enumeración. Un ejemplo de enum es el siguiente. mi.gramo. - Color enum negro, blanco, púrpura. La palabra clave enum enumera automáticamente una lista de palabras asignando valores a partir de 0. Según el ejemplo anterior, el negro se asigna con 0, el blanco se asigna 1 y el púrpura se asigna con 2. Si se escribe como color enum negro, blanco = 3, púrpura, entonces el negro se asigna con 0 y se asigna púrpura con 4. Esos son algunos ejemplos de tipos de valor. Se almacenan en la pila. Al asignar un valor a otra variable, el valor se copia a la nueva ubicación. Por lo tanto, existen dos copias del mismo valor en la memoria.

¿Qué es el tipo de referencia??

Los tipos de referencia se pueden dividir en dos categorías como tipos definidos por el usuario y predefinidos. Algunos ejemplos de tipos definidos por el usuario son clases, interfaces y matrices. Se usa una clase para crear objetos. Una clase consta de miembros y métodos de datos. Los miembros de los datos describen los atributos y los métodos describen el comportamiento. Una interfaz contiene solo la declaración de los miembros. Los miembros deben definirse por la clase derivada. Una matriz puede almacenar múltiples elementos del mismo tipo de datos.

Los tipos predefinidos son un tipo de objeto y un tipo de cadena. El tipo de objeto es el tipo base para todos los demás tipos definidos por el usuario. Las referencias del objeto se utilizan para unirse a un objeto de cualquier tipo en particular. Los literales de cadena se almacenan en objetos de cadena como valores. Las operaciones como la copia, la comparación y la concatenación se pueden hacer usando ellas. Esos son algunos ejemplos de un tipo de referencia. Los tipos de referencia se almacenan en el montón.  Al asignar una variable de referencia a otra variable de referencia, solo se copia la referencia. El valor real sigue siendo el mismo.

¿Cuál es la similitud entre el tipo de valor y el tipo de referencia??

  • Tanto el tipo de valor como el tipo de referencia son categorías de tipos de datos en programación.

¿Cuál es la diferencia entre el tipo de valor y el tipo de referencia??

Tipo de valor vs Tipo de referencia

Un tipo de valor contiene un valor de datos dentro de su propio espacio de memoria. Un tipo de referencia contiene un puntero a otra ubicación de memoria que contiene los datos.
 Asignación
En el tipo de valor, el valor se copia en la nueva ubicación, por lo que hay dos copias idénticas del mismo valor en la memoria. En el tipo de referencia, la referencia se copia mientras el valor real sigue siendo el mismo.
Ubicación almacenada
Se almacena un tipo de valor en la pila. Se almacena un tipo de referencia en el montón.
 Ejemplos
El int, float, double, struct, enum son algunos ejemplos de tipos de valor. La clase, la matriz, la interfaz son algunos ejemplos de tipos de referencia.

Resumen - Tipo de valor vs Referencia Tipo

Los datos se almacenan en ubicaciones de memoria reservada conocidas como variables. Cada variable almacena un tipo de datos específico. Los tipos de datos se pueden dividir en dos categorías. Son de tipo de valor y tipo de referencia. La diferencia entre el tipo de valor y el tipo de referencia es que un tipo de valor contiene un valor de datos dentro de su propio espacio de memoria, mientras que un tipo de referencia contiene un puntero a otra ubicación de memoria que contiene los datos.

Referencia:

1.Tipo de valor y tipo de referencia, Tutorial.comunicarse. Disponible aquí
2.Balagurusamy, E. Programación en C#, un primer ministro. Cuarta Ed., McGraw Hill Education (India) Private Limited, 2016.