La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PUNTEROS Ó (apuntadores) EN LENGUAJE C

Presentaciones similares


Presentación del tema: "PUNTEROS Ó (apuntadores) EN LENGUAJE C"— Transcripción de la presentación:

1 PUNTEROS Ó (apuntadores) EN LENGUAJE C

2 ¿QUÉ ES UN PUNTERO? Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido de esa dirección de memoria.

3 DIRECCIONES DE MEMORIA
Cuando una variable se declara se asocian 3 atributos. int n; /* asocia al nombre n, el tipo int y la dirección de alguna posición de la memoria donde se almacena el valor de n */ 0x4fffd34 printf(“%d”, n); n printf(“%d”, &n); int 75

4 EL CONCEPTO DE PUNTERO Tiene correspondencia con la vida diaria.
Cuando se envía una carta por correo su información se entrega basada en un puntero (la dirección de esa carta). Cuando se telefonea a una persona, se utiliza un puntero (el número de teléfono que se marca) Un puntero en C es la dirección de una variable.

5 REGLAS QUE RIGEN A UN PUNTERO
Un puntero es una variable como cualquier otra; Una variable puntero contiene un dirección que apunta a otra posición de memoria; En esa posición se almacenan los datos a los que apunta el puntero; Un puntero apunta a una variable de memoria.

6 RELACCION ENTRE *P Y P DIRECCION N
El valor de un puntero es una dirección. La dirección depende del estado de la computadora en la cual se ejecuta el programa. Direccion de memoria alta p 1001 p 1000 n 75 100 0999 101 n 100 75 099 Dirección de memoria baja

7 DECLARACION DE PUNTEROS
<tipo de dato apuntado> *<identificador de puntero> Ejemplos: int *ptr1; // puntero a un tipo de dato entero (int) long *ptr2; // Puntero a un tipo de dato entero largo (long int) char* ptr3; // Puntero a un tipo de dato char float *f; // Puntero a un tipo de tado float

8 INCIALIZACION Asignar memoria (estáticamente)
int i; // define una variable i. int *p; // define un puntero p. p=&i; // asigna la dirección de i a p. El operador & devuleve la dirección de la variable a la cual se aplica *p =50; El asterisco delante de la variable puntero indica “el contenido de” de la memoria apuntada.

9 ARITMÉTICA DE PUNTEROS
-A una variable puntero se le puede asignar la dirección de cualquier objeto. -A una variable puntero se le puede asignar la dirección de otra variable puntero (siempre que las dos señalen el mismo objeto) -A un puntero se le puede inicializar con el valor NULL -Una variable puntero puede ser restada o comparada con otra si ambas apuntan a elementos de un mismo array.

10 PUNTEROS A PUNTEROS Un puntero puede apuntar a otra variable puntero.
ejemplo int valor _e = 100; int *ptr1 = &valor _e; int **ptr5 = &ptr1; valor _e = 95; *ptr1 = 105; **ptr5 = 99; 8000 ptr1 8080 8000 100 8081 ptr5 8082 8080 8083

11 PUNTEROS COMO ARGUMENTOS DE FUNCIONES
Con frecuencia se desea que una función calcule y devuelva más de un valor, o bien se desea que una función modifique las variables que se pasan como argumentos. Cuando una variable es local se puede hacer visible a otra función pasándola como argumento. También se pueden mezclar paso por referencia y paso por valor. Es posible declarar punteros a cualquier tipo de variable, estructura o arreglo.

12 PROGRAMA EJEMPLO DE PUNTERO
punteros.cpp punteros.exe

13 BIBLIOGRAFIA Joyanes Zahonero PROGRAMACION EN C McGraw Hill, 2001


Descargar ppt "PUNTEROS Ó (apuntadores) EN LENGUAJE C"

Presentaciones similares


Anuncios Google