©️POINTERS

Un puntero es una variable que almacena la direccion de memoria de otra variable como su valor.

Una variable de puntero apunta a un tipo de datos (como int) del mismo tipo y se crea con el * operador.

La direccion de la variable con la que esta trabajando se asigna al puntero:

int edad = 43;
int* ptr = &edad;

printf("%d\n", edad);

printf("%p\n", &edad);

printf("%p\n", ptr);

Desreferencia

En el ejemplo usamos una variable de puntero para obtener la direccion de la memoria de una variable (usada junto con el operador & de referencia).

Tambien puede obtener el valor de la variable a la que apunta el puntero, utilizando el * operador:

int edad = 43;
int* ptr = &edad;

printf("%p/n", ptr);

printf("%d/n", *ptr);

Pointers y Arrays

Tambien se pueden utilizar punteros para acceder a arrays:

int numbers[4] = {25, 50, 75, 100};

En lugar de imprimir el valor de cada elemento del arreglo, imprimamos la direccion de memoria de cada elemento del arreglo:

int numbers[4] = {25, 50, 75, 100};
int i;

for (i = 0; i < 4; i++) {
    printf("%p\n", &numbers);
}

Última actualización