Tabla de contenido
¿Qué diferencia hay entre punteros y otros tipos de referencia?
La característica que separa punteros de otros tipos de referencia es que el valor de un puntero está destinado a ser interpretado como una dirección de memoria, que es un concepto bastante de bajo nivel.
¿Qué son los punteros?
Nunca olvide esta sencilla definición. Los punteros son un concepto que suele causar mucha confusión a quienes están aprendiendo C. Sin embargo, no se trata de un concepto difícil si uno comprende cómo están representadas las variables en la memoria.
¿Qué es el uso incorrecto de punteros?
Por otra parte, el uso incorrecto de punteros es una fuente muy común de errores críticos, y que no siempre son fáciles de depurar. Por esto es importante siempre entender muy bien lo que se está haciendo cuando hay punteros involucrados.
¿Qué se hace cuando hay punteros involucrados?
Por esto es importante siempre entender muy bien lo que se está haciendo cuando hay punteros involucrados. Cuando una variable de tipo puntero tiene almacenada una dirección de memoria, se dice que «apunta» al valor que está en esa dirección.
¿Cómo puedo asignar un puntero a otro?
Un puntero puede ser asignado a otro si son del mismo tipo. Si son de tipos distintos hay que usar un operador de conversión (cast) salvo que uno de ellos sea un puntero void. Todos los tipos de punteros pueden ser asignados a un puntero void y un puntero void puede asignarse a cualquier tipo de puntero.
¿Por qué se usan los punteros?
Respecto al uso dentro de un programa, los punteros se usan ya que permiten realizar operaciones de manera más eficiente al trabajar con direcciones de memoria.
¿Cuál es la clave de un puntero?
La clave está en que no hay una palabra clave, valga la redundancia, para definir a los tipos punteros sino que según sea el tipo de dirección que va a almacenar ese sera el tipo añadiendo el operador *. Por ejemplo si yo quiero crear un puntero que almacene una dirección de memoria de un entero debo hacer lo siguiente: