Vato
Un apuntador es una variable que contiene la dirección en memoria de otra variable. Se pueden tener apuntadores a cualquier tipo de variable.
Eloperador unario o monádico devuelve la dirección de memoria de una variable.
El operador de indirección o de referencia * devuelve el contenido de un objeto apuntado por un apuntador''.
Para declarar un apuntador para unavariable entera hacer:
Int *apuntador;
Se debe asociar a cada apuntador un tipo particular. Por ejemplo, no se puede asignar la dirección de un short int a un long int.
Para teneruna mejor idea, considerar el siguiente código:
Main()
{
Int x = 1, y = 2;
Int *ap;
ap= &x;
y = *ap;
x = ap;
*ap = 3;
}
un puntero apunta a unadirección de memoria.
El lenguaje C permite sumar o restar cantidades enteras al puntero, para que apunte a una dirección diferente: aritmética de punteros .
Consideremos un puntero a enteros: int* ptr;
ptr apuntará a cierta dirección de memoria:
Pero también tendrán sentido las expresiones ptr+1, ptr+2, etc. La expresión ptr+k es un puntero que apunta a la direcciónde ptr sumándole k veces el espacio ocupado por un elemento del tipo al que apunta (en este caso un int):
Ejemplo de aritmética de punteros
int vector [100]; /* un vector de enteros */
int *ptr; /* un puntero aenteros */
...
ptr = &vector[0]; /* ptr apunta al principio del vector */
*ptr = 33; /* igual que vector[0] = 33 */
*(ptr+1) = 44; /* igual que vector[1] = 44 */
*(ptr+2) = 90; /* igual quevector[2] = 90 */
Un arreglo multidimensional puede ser visto en varias formas en C, por ejemplo:
Un arreglo de dos dimensiones es un arreglo de una dimensión, donde cada uno de los...
Regístrate para leer el documento completo.