Indicadores
Deseamos a veces saber dónde una variable reside en memoria. Un indicador contiene la dirección de una variable que tenga un valor específico. Al declarar un indicador, un asterisco se pone inmediatamente antes del nombre del indicador.
La dirección de la posición de memoria en donde se almacena la variable puede ser encontrada poniendo un signo "&" delante del nombre variable.
int num; /* Normal integer variable */
int *numPtr; /* Pointer to an integer variable */
El ejemplo siguiente imprime el valor variable y la dirección en memoria de esa variable.
printf("The value %d is stored at address %X\n",
num, &num);
Para asignar la dirección de la variable numérica al numPtr del indicador, asignas la dirección del variable, numérica, según lo en el ejemplo dado después:
numPtr = #
Para descubrir qué se almacena en la dirección señalada por al numPtr, la variable necesita dereferenced. El Dereferencing se alcanza con el asterisco que el indicador fue declarado con.
printf("The value %d is stored at address %X\n",
*numPtr, numPtr);
Todas las variables en un programa residen en memoria. Las declaraciones dadas debajo de la petición que la reserva del recopilador 4 octetos de memoria en una computadora de 32 pedacitos para la variable floating-point x, entonces puso el valor 6.5 en ella.
float x;
x = 6.5;
Mientras que la localización de la dirección en memoria de la variable es obtenida colocando al operador y antes de su &x del nombre por lo tanto está la dirección del X.C permite que vayamos una etapa más lejos y que definamos una variable, llamada un indicador que contiene la dirección de otras variables. Podemos decir algo que el indicador señala a la otra variable. Por ejemplo:
float x;
float* px;
x = 6.5;
px = &x;
define el px para ser un indicador a los objetos del tipo flotador, y lo fija igual a la dirección del X. Así, el *px refiere al valor de x:
|