Está en la página 1de 22

CURSO DEL LUNGUAJE DE PROGRAMACIN C

FUNCIONES, ARRAYS, ESTRUCTURAS, UNION Y ENUMERACIONES

EDUARDO BASURTO - ESCOM-IPN

NO HAY IMGENES

EDUARDO BASURTO - ESCOM-IPN

AGENDA
Qu es una Funcin o Subprograma? Tipos de Funciones Arrays Estructuras

EDUARDO BASURTO - ESCOM-IPN

QU ES UNA FUNCIN O SUBPROGRAMA?


Una funcin es una parte del cdigo independiente del programa principal main() y a su vez de las dems funciones. Esta es llamada envindole o no, datos para que realice una determinada tarea y/o nos proporcione unos resultados. Es necesario que realicemos estas funciones, ya que gracias a ellas nuestro cdigo ser mucho mas modular, es decir que si nos fallase algo del cdigo sabramos donde es y adems podramos reutilizar estas funciones para diferentes fines.
EDUARDO BASURTO - ESCOM-IPN 4

DEFINICIN DE UNA FUNCIN


Tipo_valor_retorno nombre_funcion(lista argumentos con tipos)
{
Declaracin variables locales Codigo ejecutable Return (expresin) //Optativo }
EDUARDO BASURTO - ESCOM-IPN 5

TIPOS DE FUNCIONES
Funciones que devuelven valores Funciones que no devuelven valores

EDUARDO BASURTO - ESCOM-IPN

ARRAYS
Un array (matriz o vector) es un conjunto finito y ordenado de elementos
homogneos. La propiedad ordenado significa que el elemento primero, segundo, tercero,..., ensimo de un array puede ser identificado. Los elementos de un array son homogneos, es decir, del mismo tipo de datos

EDUARDO BASURTO - ESCOM-IPN

ARRAYS
Las operaciones, que se pueden realizar con vectores durante el proceso de
resolucin de un problema son:

asignacin
lectura / escritura recorrido (acceso secuencial) actualizar (aadir, borrar, insertar) Ordenacin bsqueda
EDUARDO BASURTO - ESCOM-IPN 8

ARRAYS

El formato para declarar un array unidimensional es:

tipo nombre[n];

donde: n >= 1
Para acceder a un elemento del array: nombre[i]; donde: 0 <= i < n Por ejemplo, la declaracin: int A[4];
EDUARDO BASURTO - ESCOM-IPN 9

ARRAYS DE DOS DIMENSIONES


Un array en C puede tener una, dos o ms dimensiones. Por ejemplo, un array
de dos dimensiones tambin denominado matriz, es interpretado como un array (unidimensional) de dimensin "f" (nmero de filas), donde cada componente es un array (unidimensional) de dimensin "c" (nmero de columnas). Un array de dos dimensiones, contiene, pues, "f*c" componentes

EDUARDO BASURTO - ESCOM-IPN

10

ARRAYS DE DOS DIMENSIONES


El formato para declarar un array multidimensionales:
int nombre[f][c]; donde: f,c...>= 1; Para acceder a un elemento del array multidimensional: nombre[i][j]; donde: 0 <= i < f ; 0 <= j < c; int A[3][4] ={{ 0,1,2,3}, { 1,2,3,4}, { 2,3,4,5}};
EDUARDO BASURTO - ESCOM-IPN 11

ESTRUCTURAS
Una estructura contiene varios datos. La forma de definir una estructura es
haciendo uso de la palabra clave struct. Aqui hay ejemplo de la declaracion de una estructura

EDUARDO BASURTO - ESCOM-IPN

12

ESTRUCTURAS
struct mystruct {

int int_member;
double double_member; char string_member[25]; } variable; "variable" es una instancia de "mystruct" y no es necesario ponerla aqu. Se podra omitir de la declaracin de "mystruct" y ms tarde declararla usando: struct mystruct variable;
EDUARDO BASURTO - ESCOM-IPN 13

ESTRUCTURAS
Tambin es una prctica muy comn asignarle un alias o sinnimo al nombre
de la estructura, para evitar el tener que poner "struct mystruct" cada vez. C nos permite la posibilidad de hacer esto usando la palabra clave typedef, lo que crea un alias a un tipo:
typedef struct { ... } Mystruct;
EDUARDO BASURTO - ESCOM-IPN 14

ESTRUCTURAS ANIDADAS
Una estructura puede estar dentro de otra estructura a esto se le conoce
como anidamiento o estructuras anidadas. Ya que se trabajan con datos en estructuras si definimos un tipo de dato en una estructura y necesitamos definir ese dato dentro de otra estructura solamente se llama el dato de la estructura anterior.

EDUARDO BASURTO - ESCOM-IPN

15

ESTRUCTURAS ANIDADAS
/* creamos nuestra estructura con datos similares */

struct infopersona
{ char direccion[25]; char ciudad[20]; char provincia[20]; long int codigo_postal; };
EDUARDO BASURTO - ESCOM-IPN 16

ESTRUCTURAS ANIDADAS
struct empleado {

char nombre_empleado[25];
/* agregamos la estructura infopersona * con nombre direcc_empleado */ struct infopersona direcc_empleado; double salario; };
EDUARDO BASURTO - ESCOM-IPN 17

UNION
La definicin de "union" es similar a la de "estructura", La diferencia entre las dos es que en una estructura, los miembros ocupan diferentes areas de la memoria, pero en una union, los miembros ocupan la misma area de memoria. Entonces como ejemplo: union { int i; double d; } u;
EDUARDO BASURTO - ESCOM-IPN 18

UNION
El programador puede acceder a travs de "u.i" o de "u.d", pero no de
ambos al mismo tiempo. Como "u.i" y "u.d" ocupan la misma rea de memoria, modificar uno modifica el valor del otro, algunas veces de maneras impredecibles.

El tamao de una union es el de su miembro de mayor tamao.

EDUARDO BASURTO - ESCOM-IPN

19

ENUMERACIONES
Una enumeracin (enum) es un tipo definido con constante de tipo entero. En
la declaracin de un tipo enum creamos una lista de tipo de datos que se asocian con las constantes enteras 0, 1, 2, 3, 4, 5... Su forma de definirlas es la siguiente:

EDUARDO BASURTO - ESCOM-IPN

20

ENUMERACIONES
enum {

enumerador1, enumerador2, enumeradorn


}; enum Nombre { enumerador1, enumerador2, enumeradorn };
EDUARDO BASURTO - ESCOM-IPN 21

DUDAS Y COMENTARIOS

EDUARDO BASURTO - ESCOM-IPN

22

También podría gustarte