Características y uso de punteros en C/C++

Los punteros almacenan la dirección de las variables o una ubicación de memoria. Sintaxis:

datatype *var_name; 

Ejemplo: el puntero «ptr» contiene la dirección de una variable entera o contiene la dirección de la memoria a cuyos valores se puede acceder como valores enteros a través de «ptr»

int *ptr;  

Características de los punteros:

  1. Los punteros ahorran espacio en la memoria.
  2. El tiempo de ejecución con punteros es más rápido porque los datos se manipulan con la dirección, es decir, acceso directo a la ubicación de la memoria.
  3. Se accede a la memoria de manera eficiente con los punteros. El puntero también asigna y libera la memoria. Por lo tanto, se puede decir que la memoria de los punteros se asigna dinámicamente.
  4. Los punteros se utilizan con estructuras de datos. Son útiles para representar arrays bidimensionales y multidimensionales.
  5. Se puede acceder a una array, de cualquier tipo, con la ayuda de punteros, sin considerar su rango de subíndice.
  6. Los punteros se utilizan para el manejo de archivos.
  7. Los punteros se utilizan para asignar memoria dinámicamente.
  8. En C++, un puntero declarado a una clase base podría acceder al objeto de una clase derivada. Sin embargo, un puntero a una clase derivada no puede acceder al objeto de una clase base.

Usos de los punteros:

  1. Para pasar argumentos por referencia
  2. Para acceder a los elementos de la array
  3. Para devolver varios valores
  4. Asignación de memoria dinámica
  5. Para implementar estructuras de datos.
  6. Para hacer programación a nivel de sistema donde las direcciones de memoria son útiles

Inconvenientes de los punteros:

  • Si los punteros apuntan a una ubicación incorrecta, es posible que termine leyendo un valor incorrecto.
  • Una entrada errónea siempre conduce a una salida errónea
  • La falla de segmentación puede ocurrir debido a un puntero no inicializado.
  • Los punteros son más lentos que la variable normal
  • Requiere un paso adicional de desreferencias 
  • Si olvidamos desasignar una memoria, se producirá una fuga de memoria. 

Publicación traducida automáticamente

Artículo escrito por Code_r 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 *