Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURAS DE DATOS
OBJETIVOS
Manejo correcto y apropiado de punteros y reserva de
memoria dinámica
Reconocer el tipo de dato void y void * en C como una
herramienta de potencial importancia
Diferenciar entre arreglos y estructuras
Utilizar correctamente las estructuras, punteros a
estructuras, arreglos de estructuras, etc.
DATO
Información en bruto, sin ningún significado
Dado un enunciado, evento o acción, los datos
Permiten representar sus actores o participantes
Analizándolos, se podrá obtener resultados deseados
Analicemos el siguiente hecho:
El estudiante de nombre Pedro Velez de 22 años, tiene un promedio de 7.5
Podemos tomar los siguientes datos
Nombre: Pedro Velez -> Conjunto de Caracteres
Edad: 22 -> entero
Promedio: 7.5 -> real
INFORMACIÓN
Es el resultado deseado luego de procesar los datos
Los datos, al ser procesados, se convierten en información
útil o resultados.
Datos de entrada(ingresados x
teclado) Procesamiento:
Calcular salarios
¿Cómo representar los datos?
Los seres humanos:
Usamos lenguaje natural o símbolos
Ejemplo:
Para representar números, usamos el sistema decimal
Para representar palabras, usamos el abecedario
La computadora:
Usa conjuntos de 1s y 0s
El dato mas pequeño en el computador es
Un 1 o un 0 -> bit
El conjunto de 8 bits -> 1 byte
TIPOS DE DATOS
Los datos se clasifican en TIPOS
Son los diferentes dominios existentes. Ejemplo:
Edad, Año de Nacimiento, Numero de multas
Tienen dominio numérico
Nombre, Dirección, Num. Cedula,
Caen en el dominio de la información tipo texto
Y las operaciones permitidas para dicho dominio
char *pc;
1004
1005
1000 pt
Un identificador que siempre va antecedido del operador *
int *pt, x; pt almacena la
x = 3; dirección de x, se dice
pt = &x; que pt apunta a x
CONSULTANDO CONTENIDO
Si un puntero apunta a una variable
A través del puntero se puede llegar a conocer todo sobre la variable
Ejemplo: char c, *pc1, *pc2;
pc1 = &c;
Modificación de un elemento
A[3] = 2; //Almaceno un valor en el elemento 3 de A
for(i = 0; i < 100; i++)
A[i] = 0;
REPRESENTACION INTERNA
Cuantos bytes ocupa un tipo de dato o variable? 1000 Lista[0]
En C lo indica el operador sizeof
Ejemplo: 1008 Lista[1]
int a;
printf(“%d %d”, sizeof(int), sizeof(a));
1016 Lista[2]
El computador internamente
No almacena la dirección de todos los elementos del
arreglo 1024 Lista[3]
Solo almacena la dirección del primer elemento
Lista[4]
El resto lo calcula así: 1032
int A[3][3];
(0,0) (0,1) (0,2) A[0] A[0][0] A[0]1] A[0][2]