Punteros
Los punteros son la parte más problemática a la hora de aprender el lenguaje C. Trataré de explicarlo de la forma más sencilla posible.
Es obligatorio entender aunque sea por encima el funcionamiento de los punteros, ya que es una buena base que tendremos en el aprendizaje del lenguaje C.
Un puntero es un tipo de variable, y en estas variables podemos almacenar direcciones de memoria.
Hemos de saber que cada variable que creamos en el sistema se almacena en la memoria del ordenador, y el ordenador la detecta a través de una dirección de memoria; es decir, si tenemos una variable "num" tipo "int", el ordenador sabe donde se encuentra gracias a su dirección de memoria, es la forma de trabajar que tiene.
Por ello son importantes los punteros, porque es una variable que nos permite almacenar en ella direcciones de memoria, por tanto, podemos tener en una variable la dirección de memoria de otra variable, y podemos decir que ese puntero apunta a dicha variable.
Es posible también hacer que nuestro puntero nos muestre el valor de la variable a la cual apunta... vamos a ver un pequeño ejemplo teórico (en la siguiente lección iremos a lo práctico) a ver si más o menos se va entendiendo:
num es una variable tipo int, y contiene el valor de 10.
nombre variable: num |
dirección de memoria: 000008 |
valor de la variable: 10 |
Y ahora, se puede crear una variable tipo puntero llamada 'p', que apunte a esta variable, por tanto:
nombre variable: p |
dirección de memoria: 000008 |
valor del puntero: 10 |
¿Por qué el puntero tiene valor 10? Pues porque apunta a la variable "num", por tanto, tiene su mismo valor. Si le asignamos al puntero otra dirección de memoria que no sea la de la variable "num", su valor será igual al valor que haya en dicha dirección de memoria.
Así es a grosso modo como trabajan los punteros.
En la siguiente lección trataremos de verlo mejor con el ejemplo práctico.