Diferencia entre el puntero colgante y el puntero vacío

Puntero colgante : un puntero que apunta a una ubicación de memoria que se ha eliminado (o liberado) se denomina puntero colgante. Hay tres formas diferentes en las que Pointer actúa como un puntero colgante:

Puntero vacío : el puntero vacío es un tipo de puntero específico, vacío *, un puntero que apunta a alguna ubicación de datos en el almacenamiento, que no tiene ningún tipo específico. Vacío se refiere al tipo. Básicamente, el tipo de datos al que apunta puede ser cualquiera. Si asignamos el tipo de datos char de la dirección a un puntero vacío, se convertirá en un puntero char, si el tipo de datos es int, luego el puntero int, y así sucesivamente. Cualquier tipo de puntero se puede convertir en un puntero vacío. Por lo tanto, puede apuntar a cualquier valor. A continuación se presentan algunos puntos importantes con respecto a los punteros vacíos:

  • los punteros vacíos no se pueden desreferenciar . Sin embargo, se puede hacer encasillando el puntero vacío
  • La aritmética de punteros no es posible en punteros de vacío debido a la falta de valor y tamaño concretos.

Diferencia tabular entre puntero colgante y puntero vacío :

Puntero colgante

Puntero vacío

Un puntero colgante es un puntero que se produce en el momento en que el objeto se desasigna de la memoria sin modificar el valor del puntero. Un puntero vacío es un puntero que puede apuntar a cualquier tipo de datos.
Apunta al objeto eliminado . A un puntero vacío se le puede asignar la dirección de cualquier tipo de datos.
Suele ocurrir en el momento de la destrucción del objeto . La representación de un puntero al vacío es la misma que la del tipo de carácter.
Los errores de puntero colgante solo se pueden evitar inicializando el puntero en un valor NULL. Un puntero vacío puede almacenar un objeto de cualquier tipo.
El puntero colgante estará con una función free() en C . También se le llama puntero de propósito general.

Publicación traducida automáticamente

Artículo escrito por anuragtarang60 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *