El operador de indirección * no se diatribuye a todos los
nombres de variables de una declaración. Cada apuntador debe
ser declarado con el * prefijo al nombre.
Desreferenciar un apuntador que no haya sido correctamente inicializado,
o que no haya sido asignado para apuntar a una dirección
específica en memoria. Esto podría causar un error
fatal en tiempo de ejecución, o podría modificar de
forma accidental datos importantes y permitir que el programa se
ejecute hasta su terminación propocionando resultados incorrectos.
No desreferenciar un apuntador, cuando es necesario hacerlo para
obtener el valor hacia el cual el apuntador señala.
No estar consciente que una función está esperando
apuntadores como argumentos en llamadas por referencia, y está
pasando argumentos en llamadas por valor, suponiendo que son apuntadores
y desreferencian los valores como apuntadores. En tiempo de ejecución,
a menudo se generan violaciones de acceso a la memoria o fallas
de segmentación. Otros compiladores detectan falta de coincidencia
en tipo entre argumentos y parámetros, que generan mensajes
de error.
Utilizar aritmética de apuntadores en un apuntador que no
se refiere a un arreglo de valores.
Restar o comparar dos apuntadores que no se refieren al mismo arreglo.
Salirse de cualquiera de los dos extremos de un arreglo al utilizar
aritmética de apuntadores.
Se genera un error de sintaxis al asignar un apuntador de
un tipo a un apuntador de otro tipo, si ninguno de los dos es del
tipo void*.
Desreferenciar un apuntador void *.
Es un error de sintaxis intentar modificar un nombre de arreglo
con aritmética de apuntador.
|