You are on page 1of 17

AYUDANTÍA 1

Estructuras de Datos
Arreglos en C

 Permiten almacenar datos en memoria principal.

 Todos los datos son del mismo tipo.


 Los elementos se almacenan de forma contigua.
 Para acceder a éstos se utiliza un índice.

 Por ejemplo:
Arreglo: int A[1000]
Arreglos en C
Un arreglo se puede inicializar de diferentes formas:

Importante: el
nombre de un
Para recorrer un arreglo en C, arreglo en C
siempre el primer índice corresponde al 0: siempre se
evalúa a su
dirección base.
Arreglos en C

Ejemplo: Ejercicio 1:

 Desarrolle un programa en C que  Desarrolle un programa en C que lea


rellene un arreglo con los números 10 números por teclado, los
pares comprendidos entre 1 y 100 y almacene en un arreglo y muestre la
los muestre en pantalla en orden suma, resta, multiplicación y división
ascendente. de todos.
Arreglos en C

Ejercicio 2:

 Desarrolle un programa que lea 5 números por teclado, los


almacene en un arreglo, luego los copie a otro arreglo
(multiplicándolos por 2) e imprima este segundo arreglo.
Structs en C

 A diferencia de los arreglos,


las estructuras permiten agrupar varios datos,
que mantengan algún tipo de relación,
aunque sean de distinto tipo.
 Sintaxis:

 Se puede acceder a los elementos definidos en el interior de la estructura usando el


operador de selección (.).
Structs en C

Ejercicios

 Representar mediante un struct un libro.

 Crear una función la cual, al recibir un libro, muestre en


pantalla la información guardada de éste.
Punteros en C
 Puntero → Variable que puede almacenar la dirección en donde se
almacena otra variable.
 Puede decirse que un puntero “apunta” a dicha variable.

 A un puntero se le puede asignar:


 El valor de otro puntero.
 La dirección de memoria de una variable cuyo tipo coincida con el tipo
base del puntero.

 Ejemplo:
Punteros en C

• Operadores asociados a punteros Ejemplo

 Sabiendo que:

 &: Permite obtener la dirección de


memoria de un objeto en la memoria.

 *: Permite dar a conocer el contenido


de una posición de memoria.
Punteros en C

Punteros y arreglos

 ¡El nombre de un arreglo es en realidad un puntero a su dirección base!


Punteros en C
Conflictos con los punteros

Puntero no inicializado Puntero usado de forma incorrecta


Punteros en C

Ejercicio 1: ¿Qué imprime? Ejercicio 2: ¿Qué imprime?


Archivos en C

 Los archivos permiten guardar datos de forma


persistente (en memoria secundaria).

 Permiten guardar múltiples datos de forma estructurada.

 A diferencia de Python, su manejo es algo más


complejo.
Archivos en C

Abriendo archivos Cerrando archivos

¡Ojo con el modo!


Puede ser “r”, “w”, “a”, “r+”, “w+”, “a+” Una vez cerrado el archivo,
el puntero puede usarse con otro archivo.
Archivos en C

Trabajando con archivos Ejercicio!

 Escribe una función que, recibiendo


el nombre de un archivo con
 Si es texto (ASCII), usamos números, calcule su promedio.
fprintf() y fscanf():

 Si es binario, usamos fwrite() y


fread().
Funciones y paso de parámetros

Formato de creación

 Una función es un
conjunto de
declaraciones,
definiciones,
expresiones y
sentencias que
realizan una tarea
específica.
Funciones y paso de parámetros

Ejercicio 1 Ejercicio 2

 Crear una función la cual reciba un  Crear una función la cual reciba un
arreglo de enteros junto con su largo arreglo de caracteres (nombres) y
y retorne el promedio de dichos retorne los nombres ordenados en
enteros. forma alfabética.

You might also like