Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción a la programación.
Elementos Del Lenguaje C.
Sentencias de Control.
Arreglos.
Funciones.
Apuntadores.
Concepto de apuntadores (declaración e
inicialización)
Operadores de Apuntadores
Aritmética de apuntadores
Relaciones entre apuntadores y arreglos
Arreglos de apuntadores
Asignación dinámica de Memoria
Apuntadores
Apuntadores
Inicialización
Estática:
Asignar una dirección de memoria a un apuntador utilizando el
operador de dirección (&).
Ejemplo:
int x = 0; xPtr x
int *xPtr = &x;
0
Operadores de apuntadores
&: operador de dirección; regresa la dirección de su
operando.
*: operador de indirección; regresa el valor del
objeto hacia el cual se apunta.
Ejemplo:
int x = 7;
int *xPtr = &x;
printf("x=%d ",x);
printf("&x=%p ",&x);
printf("&xPtr=%p " ,&xPtr);
printf("xPtr=%p " ,xPtr);
printf("*xPtr=%d " ,*xPtr);
Operadores de apuntadores
Representación en memoria:
xPtr x
500000 600000 600000 7
xPtr x
7
Operadores de apuntadores
Un apuntador puede apuntar a otra variable de tipo
apuntador.
Ejemplo:
int x = 7;
int *xPtr = &x;
int **xPtr1 = *xPtr;
printf("x=%d“ ,x);
printf("xPtr=%p“,xPtr);
printf("*xPtr=%d“,*xPtr);
printf("**xPtr=%p“,**xPtr);
Posiciones en memoria:
vPtr
v[0] v[1] v[2] v[3]
Aritmética de apuntadores
Cuando se añade o se resta un entero al apuntador, el
apuntador se incrementa o decrementa el valor de dicho
entero multiplicado por el tamaño del objeto al cual apunta.
suit[0] ‘c’ ‘o’ ‘r’ ‘a’ ‘z’ ‘o’ ‘n’ ‘e’ ‘s’ ‘\0’
suit[1]
‘d’ ‘i’ ‘a’ ‘m’ ‘a’ ‘n’ ‘t’ ‘e’ ‘s’ ‘\0’
suit[2]
‘e’ ‘s’ ‘p’ ‘a’ ‘d’ ‘a’ ‘s’ ‘\0’
suit[3] ‘t’ ‘r’ ‘e’ ‘b’ ‘o’ ‘l’ ‘e’ ‘s’ ‘\0’