Lección 18: Punteros — direcciones, & y *
Toda variable de tu programa vive en una dirección de memoria real — como un apartamento en una calle. El operador & da la dirección de x (¡el misterio de scanf("%d", &x) de la lección 3 por fin se resuelve!). Un puntero es una variable que guarda una dirección: int *p = &x;. Con *p accedes al valor
Un puntero es una nota con la dirección de un apartamento. &x escribe la dirección en la nota, y *p dice 've a la dirección de la nota y mira (o cambia) lo que hay adentro'. Cambiar a través de la nota cambia el apartamento real.
- dirección de memoria
- La ubicación numérica donde vive una variable en memoria. Toda variable recibe una dirección.
- & (operador de dirección)
- &x devuelve la dirección de x — no su valor.
- puntero
- Una variable que guarda la dirección de otra variable. Se declara: int *p = &x;.
- * (desreferencia)
- *p accede al valor en la dirección que guarda p. Lectura y escritura: *p = 99; cambia x.
- NULL
- Un valor especial que significa 'este puntero no apunta a nada'. Compruébalo siempre antes de usarlo.