Punteros en Programación - Semana 11 - PDF

Document Details

BestKnownHarpsichord

Uploaded by BestKnownHarpsichord

EL227

Tags

programming pointers arrays computer science

Summary

Estas notas de clase cubren los conceptos de punteros, arreglos unidimensionales y su relación en programación. El documento explica cómo los punteros en programación se relacionan con las direcciones de memoria y los arreglos unidimensionales.

Full Transcript

Punteros en programación Semana-11-clase síncrona. Temario: - Concepto de puntero en programación. - Arreglos unidimensionales: concepto, creación y acceso a sus datos. - Relación entre los punteros y los arreglos unidi...

Punteros en programación Semana-11-clase síncrona. Temario: - Concepto de puntero en programación. - Arreglos unidimensionales: concepto, creación y acceso a sus datos. - Relación entre los punteros y los arreglos unidimensionales. EL227 ¿Que sucede en la memoria cuando se crea una variable? Memoria 0002 x 100 int x;. Una variable de tipo int ocupa x = 100;.. 4 bytes en la memoria.. OJO: 0002 es solo un valor de ejemplo EL227 SOFTWARE PARA INGENIERIA IMPORTANTE: ¿Existe alguna forma de observar la verdadera dirección que ocupa una variable en la memoria? Respuesta: Si. Usando el operador unario & char x; int y; float z; double w; printf("La variable x se ubica en la direccion %p\n\n",&x); printf("La variable y se ubica en la direccion %p\n\n",&y); printf("La variable z se ubica en la direccion %p\n\n",&z); printf("La variable w se ubica en la direccion %p\n\n",&w); EL227 SOFTWARE PARA INGENIERIA ¿Qué es un puntero?: Un puntero (o apuntador) es una variable cuyo contenido es una dirección de memoria. Creando punteros tipo *nombre del puntero A qué tipo de variable deberá apuntar el puntero EL227 SOFTWARE PARA INGENIERIA MEMORIA D p x D p = &x p apunta a x A través del puntero se puede manejar el contenido de la variable a la cual apunta; es decir: - Para asignar valor a la variable. - Para mostrar el valor de la variable, etc. EL227 SOFTWARE PARA INGENIERIA Hasta ahora sólo habíamos visto estructuras de datos simples (variables) Usar una o mas int x; Una variable solo permite almacenar un dato a la vez funciones para Variable implementar un programa float cad; Una variable de tipo float permite almacenar sólo un dato a la vez Variable EL227 SOFTWARE PARA INGENIERIA Arreglo Unidimensional Es una estructura que permite almacenar varios datos de un mismo tipo, agrupados uno a continuación de otro. Nombre del arreglo V= Índices: 0 1 2 3 4 N-2 N-1 Tamaño = N Cada elemento de un arreglo unidimensional ocupa una posición llamada índice. Los arreglos solo pueden almacenar Para un arreglo unidimensional, el primer elemento tiene un índice 0. datos del mismo tipo EL227 SOFTWARE PARA INGENIERIA Referenciar a los elementos de un arreglo unidimensional Los elementos de un arreglo unidimensional pueden referenciarse usando sus índices y el [] V V V V V V[N-2] V[N-1] V= Índices: 0 1 2 3 4 N-2 N-1 Tamaño = N Ejemplos: A traves de estas V = 100; Asignar el valor 100 al elemento de la posición 3 del arreglo referencias, se podrán printf(“%i”,V); Mostrar en pantalla el primer elemento del arreglo manipular los elementos del arreglo unidimensional EL227 SOFTWARE PARA INGENIERIA ¿Qué sucede en la memoria cuando se crea un arreglo? Ejemplo: arr 0001 arr ≈ *arr int arr; arr+1 0005 arr ≈ *(arr+1) arr+2 0009 arr ≈ *(arr+2) El nombre del arreglo implícitamente es un puntero que tiene asignado la dirección en memoria del primer arr+3 00013 elemento del arreglo arr ≈ *(arr+3) arr+4 00017 arr ≈ *(arr+4) EL227 SOFTWARE PARA INGENIERIA Es necesario mencionar, que los arreglos creados en un programa son temporales, es decir; solo almacenan datos durante la ejecución del programa, una vez cerrada la aplicación el espacio en memoria utilizada por el(los) arreglos es eliminado. Los arreglos creados en un programa son ESTATICOS, es decir; su tamaño es fijo al momento de declararlos, ya no puede cambiar durante la ejcución de un programa. EL227 SOFTWARE PARA INGENIERIA

Use Quizgecko on...
Browser
Browser