Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EN EL LENGUAJE C
1
VARIABLES DE PUNTERO
Variable común ( x )
El valor de la variable está VARIABLE DE PUNTERO (px)
almacenada en la dirección Aquí se almacena la DIRECCIÓN DE
de memoria.0 1 2 3 4
MEMORIA DE X.5 6 7
Se dice que px APUNTA a X.
8 9 10 11 12 13 14 15
16 17
55 18 19 20 21 22 23
24 25 26 27 28 29 30 31
Una variable de puntero
también puede tener a su
32 33 34 35 36 37 38 39
vez otra variable de puntero.
40 41 42 43 44
18 45 46 47
48 49
45 50 51 52 53 54 55
56 57 58 59 60 61 62 63
2
UNA VARIABLE DE
PUNTERO
ALMACENA LA
DIRECCIÓN DE LA
MEMORIA DE OTRA
VARIABLE.
3
DECLARACIÓN DE VARIABLES DE
TIPO PUNTERO EN C
tipo * nombre;
Ejemplos:
int * pi; //puntero a entero
int * pa, *pb; //dos punteros a entero
char ca, *cca // una variable char y un puntero
a // tipo char
double * db; // puntero a double
char * pchr; // puntero a char
long * pln[20]; //VECTOR de punteros tipo //long
4
OPERACIONES CON
PUNTEROS
5
Asignaciones
Variable de puntero = Dirección de memoria
0 1 2 3 4 5 6 7
x = 15.22
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
15.22
24 25 26 27 28 29 px =30&x 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
26
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
6
Asignaciones (cont.)
Variable de puntero1 = Variable de puntero2
0 1 2 3 4 5 py
6 = px
7
x = 15.22
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
15.22 26 29
24 25 26 27 28 30 31
32 33
DOS 34 35
VARIABLES 36 37
DISTINTAS 38 39
7
DERREFERENCIACION
(INDIRECCION)
9
0 x1= 152 2 3 4 5 6 7
8 9 10 11 12 13 14 15
152 35 1785 92 88
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
px+3 apunta a &x+3 * sizeof( tipo )
*( px + 3 ) vale 92
32 px33
== &x 34 35 36 37 38 39
&x == 17
40 *px
41== 15242 43 44 45 46 47
17
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
10
PUNTEROS Y VECTORES
a es un vector de 9 términos
0 1 2 3 4 5 6 7
a[0] *(a + 5)
8 9 10 11 12 13 14 15
*a
1520 362 55 96 725 133 0
16 17 18 19 20 21 22 23
-95 128
24 25 26 Se
27 puede28decir que:
29 30 31
1. a Es una variable de puntero
a[8] 32 33 34 35 que36apunta 37
a la dirección
38 de 39
memoria
40 41 42 43
de44a[0]. 45 46 47
a 2. a == & a[ 0 ];
48 49 50 513. *a 52
== a[ 0 ];53 54 55
4. *( a + 5) == a[ 5 ]
56 57 58 59 60 61 62 63
11
PUNTEROS Y MATRICES
0 1 2 3 4 5 6 7
a[ 0 ][ 0 ] a[ 0 a[ 1 a[ 2
] ] ]
8 9 10 11 12 13 14 15
-95 128
24 25 26 27 28 29 30 31
a[ 2 ][ 2 ]32 33 34 35 36 37 38 39
a
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
12
PUNTEROS Y MATRICES
Conclusiones
13
FIN DE PUNTEROS
14