4. Estructuras (registros) Programación II, FCFM, BUAP

Tamaño: px
Comenzar la demostración a partir de la página:

Download "4. Estructuras (registros) Programación II, FCFM, BUAP"

Transcripción

1 4. Estructuras (registros) Programación II, FCFM, BUAP

2 Son colecciones de variables relacionadas bajo un nombre. Permiten agrupar variables del mismo o diferente tipo, bajo un mismo nombre. Inclusive puede contener otra(s) estructuras. A las estructuras se les conoce también como registros. A cada elemento de una estructura se le llama miembro o campo. Alumno Matrícula: Nombre: Sexo: Carrera: Semestre: Promedio:

3 Definir una estructura en el lenguaje C Para usar una estructura, primero hay que definir un nuevo tipo de dato y luego declarar una variable de ese tipo, es decir, hay que definir a la estructura antes de usarla en la declaración de variables. El tipo de dato puede ser: básico o primitivo, arreglo, puntero o estructura. El tipo de dato no puede ser extern, static, auto o register. Las variables no pueden ser inicializadas dentro de la estructura. El nombre de un miembro es local a la estructura.

4 struct alumno char matricula[10]; char nombre[tam], sexo, carrera[3]; unsigned short int semestre; float promedio; }; Los registros pueden ser globales o locales int main( ) struct alumno a1, a2, a3 = " ", "José García", 'M', "AC", 4, 9.64}; char matri[ ] =" ; char nom[tam] = Lucero Luna Salas"; float p = 8.76; a1.sexo = 'M'; Para acceder al campo de una estructura se usa el operador punto Si en la lista entre corchetes existen menos inicializadores que miembros de una estructura, los miembros restantes se inicializan automáticamente en 0, caracter nulo o NULL dependiendo del tipo de dato de cada miembro restante

5 struct alumno char matricula[10]; char nombre[tam], sexo, carrera[3]; unsigned short int semestre; float promedio; }; int main( ) struct alumno a1, a2, a3 = " ", "José García", 'M', "AC", 4, 9.64}; a1.semestre = 6; a1.promedio = p; strcpy(a1.carrera,"ma"); strcpy(a1.matricula,matri); strcpy(a1.nombre,nom); printf("ingresa tu nombre:"); fgets(a2.nombre, TAM, stdin); printf( Carrera?"); scanf("%s",a2.carrera); printf("ingresa tu promedio:"); scanf("%f", &a2.promedio); char matri[ ] =" ; char nom[tam] = Lucero Luna Salas"; float p = 8.76; a1.sexo = 'M'; printf("%s,%s,%c,%s,%hu,%.2f \n", a1.matricula, a1.nombre, a1.sexo, a1.carrera, a1.semestre, a1.promedio); printf("%s,%s,%.2f \n", a2.nombre, a2.carrera, a2.promedio);

6 struct alumno }; char matricula[10]; char nombre[tam], sexo, carrera[3]; unsigned short int semestre; float promedio; typedef struct alumno Ralumno; int main( ) Ralumno a1, a2, a3 = " ", "José García", 'M', "AC", 4, 9.64}; char matri[ ] =" ; char nom[tam] = Lucero Luna Salas"; float p = 8.76; typedef sirve para crear sinónimos de tipos de datos ya definidos, pero NO crea un nuevo tipo a1.sexo = 'M'; a1.semestre = 6; a1.promedio = p; strcpy(a1.carrera,"ma"); strcpy(a1.matricula,matri); strcpy(a1.nombre,nom); printf("ingresa tu nombre:"); fgets(a2.nombre, TAM, stdin); printf( Carrera?"); scanf("%s",a2.carrera); printf("ingresa tu promedio:"); scanf("%f", &a2.promedio); printf("%s,%s,%c,%s,%hu,%.2f \n", a1.matricula, a1.nombre, a1.sexo, a1.carrera, a1.semestre, a1.promedio);

7 typedef struct alumno char matricula[10]; char nombre[t], sexo, carrera[3]; unsigned short int semestre; float promedio; }Ralumno; int main( ) Ralumno a1, a2, a3 = " ", "José García", 'M', "AC", 4, 9.64}; char matri[ ] =" ; char nom[tam] = Lucero Luna Salas"; float p = 8.76; Con esta forma de definición, es válido eliminar el identificador de la estructura, es decir, se puede borrar la palabra alumno a1.sexo = 'M'; a1.semestre = 6; a1.promedio = p; strcpy(a1.carrera,"ma"); strcpy(a1.matricula,matri); strcpy(a1.nombre,nom); printf("ingresa tu nombre:"); fgets(a2.nombre, TAM, stdin); printf( Carrera?"); scanf("%s",a2.carrera); printf("ingresa tu promedio:"); scanf("%f", &a2.promedio); printf("%s,%s,%c,%s,%hu,%.2f \n", a2.matricula, a2.nombre, a2.sexo, a2.carrera, a2.semestre, a2.promedio);

8 struct alumno char matricula[10]; char nombre[t], sexo, carrera[3]; unsigned short int semestre; float promedio; }a1, a2, a3 = " ", "José García Rojas", 'M', "AC", 4, 9.64}; int main( ) char matri[ ] =" ; char nom[tam] = Lucero Luna Salas"; float p = 8.76; a1.sexo = 'M'; a1.semestre = 6; a1.promedio = p; strcpy(a1.carrera,"ma"); strcpy(a1.matricula,matri); strcpy(a1.nombre,nom); printf("ingresa tu nombre:"); fgets(a2.nombre, TAM, stdin); printf( Carrera?"); scanf("%s",a2.carrera); printf("ingresa tu promedio:"); scanf("%f", &a2.promedio); printf("%s,%s,%c,%s,%hu,%.2f \n", a1.matricula, a1.nombre, a1.sexo, a1.carrera, a1.semestre, a1.promedio);

9 Los miembros de una estructura son almacenados secuencialmente, en el mismo orden en que son declarados, similar a los arreglos. matrícula nombre sexo carrera semestre promedio Se puede asignar una estructura a otra y cuando esto sucede, se copian uno a uno todos los miembros de la estructura origen a la estructura destino, es decir, la estructura origen se duplica en la destino. a1 = a3; Las estructuras no pueden compararse por medio de operadores == y!=

10 Estructuras anidadas Es posible que los miembros de una estructura sean a su vez estructuras previamente definidas, dando lugar a estructuras anidadas. Una estructura no puede tener una instancia de sí misma, sin embargo, un apuntador a la estructura sí puede incluirse.

11 typedef struct nombrecompuesto char nom[20], app[10], apm[10]; }nombrea; typedef struct alumno char matricula[10]; nombrea nombre; char sexo, carrera[3]; unsigned short int semestre; float promedio; }Ralumno; int main( ) Ralumno a1, a2, char matri[ ] =" ; float p = 8.76; a1.sexo = 'M'; a1.semestre = 6; a1.promedio = p; strcpy(a1.carrera,"ma"); strcpy(a1.matricula, matri); strcpy(a1.nombre.nom, Lucero ); strcpy(a1.nombre.app, Luna ); strcpy(a1.nombre.apm, Salas ); printf("ingresa tu nombre:"); fgets(a2.nombre.nom, 20, stdin); printf("ingresa tu apellido paterno:"); fgets(a2.nombre.app, 10, stdin); printf("%s,%s %s %s, %c,%s,%u,%.2f \n", a1.matricula, a1.nombre.nom, a1.nombre.app, a1.nombre.apm, a1.sexo, a1.carrera, a1.semestre, a1.promedio);

12 struct alumno char matricula[10]; char nombre[t], sexo, carrera[3]; unsigned short int semestre; float promedio; Estructura autorreferenciada }; struct alumno persona; /* ERROR */ struct alumno *appersona /* CORRECTO*/

13 Arreglos de estructuras Se pueden declarar arreglos cuyos elementos sean estructuras, es decir, crear arreglos de estructuras o arreglos de registros

14 typedef struct nombrecompuesto char nom[20], app[10], apm[10]; }nombrea; typedef struct alumno char matricula[10]; nombrea nombre; char sexo, carrera[3]; unsigned short int semestre; float promedio; }Ralumno; strcpy(alumnos[0].matricula, ); strcpy(alumnos[0].carrera, "MA"); strcpy(alumnos[0].nombre.nom, Lucero ); strcpy(alumnos[0].nombre.app, Luna ); strcpy(alumnos[0].nombre.apm, Salas ); alumnos[0].promedio = 8.47; alumnos[0].semestre = 6; int main( ) Ralumno alumnos[100];

15 Estructuras en funciones Una estructura o los miembros individuales de la misma, pasan a una función automáticamente por valor. Para pasar por referencia una estructura, se debe pasar la dirección de la variable estructura. Un arreglo de estructuras se pasa automáticamente por referencia (como todos los arreglos). Para pasar un arreglo por valor, se debe generar una estructura con el arreglo como miembro. Es más eficiente pasar una estructura por referencia que por valor.

16 typedef struct char nombre[32], s; int edad; float alt; }jugador; void modificarv ( jugador x ) x.edad = 50; } void modificar ( jugador *x ) x -> edad = 50; } Manu Ginobili 40 M 1.98 Manu Ginobili 50 M 1.98 int main() jugador jug1; printf("introduce el nombre: "); fgets(jug1.nombre,30,stdin); printf("introduce la edad: "); scanf("%d", &jug1.edad); fflush(stdin); printf("introduce el sexo: "); scanf("%c", &jug1.s); printf("introduce la altura: "); scanf("%f", &jug1.alt); modificarv(jug1); //Mandar a imprimir modificar(&jug1); //Mandar a imprimir

17 typedef struct char nombre[32], s; int edad; float alt; float estadisticas[5];//min,pts,asistencias,rebotes,robos }jugador; void modificarv ( jugador x ) } x.edad = 50; x.estadisticas[0]=22; void modificar ( jugador *x ) } x -> edad = 50; x->estadisticas[0] = 22; Manu Ginobili 40 M Manu Ginobili 50 M int main() jugador jug1; printf("introduce el nombre: "); fgets(jug1.nombre,30,stdin); printf("introduce la edad: "); scanf("%d", &jug1.edad); fflush(stdin); printf("introduce el sexo: "); scanf("%c", &jug1.s); printf("introduce la altura: "); scanf("%f", &jug1.alt); modificarv(jug1); //Mandar a imprimir modificar(&jug1); //Mandar a imprimir

18 typedef struct char nombre[32], s; int edad; float alt; float estadisticas[5]; //min,pts,asistencias,rebotes,robos }jugador; void modificara(jugador x[ ]) } x[0].edad = 50; x[0].estadisticas[0] = 37; int main() jugador jugadores[2]= "Manu Ginobili", 'M', 40, 1.98},"Rudy Gay", 'M', 31, 2.03} }; modificara(jugadores); for(i=0; i<2; i++) } printf("\n%s\n",jugadores[i].nombre); printf("edad: %d\n",jugadores[i].edad); printf("sexo: %c\n",jugadores[i].s); printf("altura: %f\n",jugadores[i].alt); printf("minutos jugados: %f\n",jugadores[i].estadisticas[0]); Manu Ginobili Rudy Gay M M

19 Punteros a estructuras Los punteros a estructuras se declaran igual que los punteros a otros tipos de datos Para referirse a un campo de un registro apuntado por un apuntador se utiliza el operador -> Recordar que cuando se declara un puntero a un objeto, casi siempre es porque el objeto va a ser creado en tiempo de ejecución Por tanto, declarar un apuntador a un objeto de cualquier tipo no sirve de nada mientras no le asignemos un bloque de memoria capaz de almacenar un objeto de ese tipo

20 typedef struct unsigned int d; unsigned int m; unsigned int a; }fecha; void escribir (fecha *f) printf ("Día %u del mes %u del año %u\n", f->d, f->m, f->a); } int main ( ) // hoy es un puntero a una estructura fecha *hoy; // asignación de memoria para la estructura hoy = (fecha *) malloc(sizeof(fecha)); printf ("Introducir fecha (dd-mm-aaaa) : ") ; scanf ( "%u-%u-%u", &hoy->d, &hoy->m, &hoy->a) ; escribir(hoy); void escribir2 (fecha *f) printf ("Día %u del mes %u del año %u\n", (*f).d, (*f).m, (*f).a); } } escribir2(hoy); free(hoy); return 0;

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas Unidad IV Arreglos y estructuras M.C. Juan Carlos Olivares Rojas 4.1 Concepto de arreglo Agenda 4.2 Manejo de cadenas 4.3 Concepto de estructuras 4.4 Concepto de unión 4.5 Empleo de apuntadores 4.1 Concepto

Más detalles

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa Índice Estructuras de datos en Memoria Principal Vectores Matrices Cadenas de caracteres Estructuras Estructuras de datos en Memoria Externa Ficheros Tema: Estructuras de Datos 2 Estructuras Una estructura

Más detalles

Lenguaje C, tercer bloque: Funciones

Lenguaje C, tercer bloque: Funciones Lenguaje C, tercer bloque: Funciones José Otero 1 Departamento de informática Universidad de Oviedo 28 de noviembre de 2007 Índice 1 Tipo puntero Concepto de puntero Operador dirección Operador indirección

Más detalles

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/ DECLARACION DE ESTRUCTURAS ESTRUCTURAS La estructura es una colección de variables, la cual puede poseer distintos tipos de datos (a diferencia de los arreglos que solamente pueden tener un solo tipo de

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

2. APUNTADORES. Programación 2, FCFM, BUAP

2. APUNTADORES. Programación 2, FCFM, BUAP 2. APUNTADORES Programación 2, FCFM, BUAP a. Apuntadores a apuntadores Dado que un apuntador es una variable que apunta a otra variable, pueden existir apuntadores que apunten a apuntadores; a su vez,

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Estructura de Datos ARREGLOS

Estructura de Datos ARREGLOS Estructura de Datos ARREGLOS ESTRUCTURAS DE INFORMACIÓN Una estructura de datos o de información es una colección de datos que pueden ser caracterizados por su organización y las operaciones que se definen

Más detalles

Tema 16: Tipos de datos estructurados en lenguaje C

Tema 16: Tipos de datos estructurados en lenguaje C Tema 16: Tipos de datos estructurados en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo

Más detalles

PUNTEROS (Apuntadores)

PUNTEROS (Apuntadores) PUNTEROS (Apuntadores) Unidad III INTRODUCCIÓN A PUNTEROS. CONCEPTOS BÁSICOS. DECLARACIÓN DE PUNTEROS. PUNTEROS Como una colección de posiciones de memoria consecutivas. En ella se almacenan los distintos

Más detalles

Definición de estructuras. Estructuras, uniones y enumeraciones. Declaración. Definición y declaración. (struct, union y enum)

Definición de estructuras. Estructuras, uniones y enumeraciones. Declaración. Definición y declaración. (struct, union y enum) Estructuras, uniones y enumeraciones (struct, union y enum) Definición de estructuras Una Estructura es una colección de variables simples (como int x; char cad[30]; etc), que pueden contener diferentes

Más detalles

Universidad del Papaloapan

Universidad del Papaloapan Universidad del Papaloapan Materia: Programación Estructurada Tema: Punteros Expositor: M. C. Bertha López Azamar Tuxtepec, Oaxaca. Enero/2005-2006 1 PUNTEROS M. C. Bertha López Azamar Un tema muy ligado

Más detalles

Lenguaje de Programación

Lenguaje de Programación UG C++ C++ Universidad de Guanajuato Sesión 33 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura.

Más detalles

TEMA 8. ESTRUCTURAS Y UNIONES.

TEMA 8. ESTRUCTURAS Y UNIONES. TEMA 8. ESTRUCTURAS Y UNIONES. Este capítulo examina estructuras, uniones, enumeraciones y s definidos por el usuario que permite a un programador crear nuevos s de datos. La capacidad para crear nuevos

Más detalles

Programación I Teoría II.

Programación I Teoría II. Programación I Teoría II http://proguno.unsl.edu.ar proguno@unsl.edu.ar MODULARIDAD FUNCIONES EN C Modularidad Principio para resolución de problemas: Dividir para reinar Modularidad Módulo Función Procedimiento

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Tema 2: Lenguajes de Programación de Sistemas: C

Tema 2: Lenguajes de Programación de Sistemas: C Tema 2: Lenguajes de Programación de Sistemas: C SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla

Más detalles

Un registro o estructura es un conjunto de n elementos heterogéneos que están agrupados bajo un único nombre (en una sola variable).

Un registro o estructura es un conjunto de n elementos heterogéneos que están agrupados bajo un único nombre (en una sola variable). Al momento de resolver un problema y codificar un programa a menudo se requiere agrupar y manipular datos de distinto tipo (estructurarlos para operar sobre ellos) de una manera sencilla y eficiente. Un

Más detalles

Programación I Unidad III. Tema: Tipos, estructuras y uniones

Programación I Unidad III. Tema: Tipos, estructuras y uniones Programación I Unidad III Tema: Tipos, estructuras y uniones El especificador typedef La palabra reservada typedef representa un especificador de clase de almacenamiento, y se utiliza para definir nuevos

Más detalles

UNIDAD 4 ESTRUCTURAS Y UNIONES

UNIDAD 4 ESTRUCTURAS Y UNIONES UNIDAD 4 ESTRUCTURAS Y UNIONES Programación Primavera 2010 Contenido Definición de estructura Procesamiento de una estructura Tipos de datos definidos por el usuario (typedef) Estructuras y apuntadores

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones

Más detalles

Programación Estructurada. Sesión 2:El lenguaje de programación C

Programación Estructurada. Sesión 2:El lenguaje de programación C Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

Laboratorio de Arquitectura de Redes. Tipos de datos definibles en lenguaje C

Laboratorio de Arquitectura de Redes. Tipos de datos definibles en lenguaje C Laboratorio de Arquitectura de Redes Tipos de datos definibles en lenguaje C Tipos de datos definibles en lenguaje C Estructuras Uniones Campos de bits Definición de tipos con typedef Laboratorio de Arquitectura

Más detalles

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo ESTRUCTURA DE DATOS Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo DATOS ESTÁTICOS Su tamaño y forma es constante durante la ejecución

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador 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

Más detalles

Tema 18: Memoria dinámica y su uso en C

Tema 18: Memoria dinámica y su uso en C Tema 18: Memoria dinámica y su uso en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1

Más detalles

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras Principios de Programación El lenguaje C 1. Estructuras Las estructuras son colecciones de variables relacionadas bajo un nombre. Las estructuras pueden contener variables de muchos tipos diferentes de

Más detalles

Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase

Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase Práctico 2: Funciones y Punteros en C La teoría general para este práctico puede consultarse en los Capítulos 4 y 5 Notas de Clase 1. Ejecute el siguiente programa y diga que hace la función calcula: #include

Más detalles

Programación. Test Autoevaluación Tema 6

Programación. Test Autoevaluación Tema 6 Programación Test Autoevaluación Tema 6 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordóñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Una función es un miniprograma dentro de un programa. Las funciones contienen varias

Una función es un miniprograma dentro de un programa. Las funciones contienen varias TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas

Más detalles

Punteros. Programación en C 1

Punteros. Programación en C 1 Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética

Más detalles

El operador contenido ( ) permite acceder al contenido de

El operador contenido ( ) permite acceder al contenido de 3. Memoria Dinámica y Punteros Objetivos: Distinguir los conceptos de memoria estática y memoria dinámica Comprender el concepto de puntero como herramienta de programación Conocer cómo se definen y cómo

Más detalles

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES VARIABLES Y CONSTANTES Variables: Es un espacio reservado en la memoria donde podemos almacenar un valor durante la ejecución de un programa, a dicho espacio se le asocia un nombre (identificador). El

Más detalles

LENGUAJE. Tema 5 Estructuras de datos

LENGUAJE. Tema 5 Estructuras de datos LENGUAJE Tema 5 Estructuras de datos TIPOS DE ESTRUCTURAS Una estructura es una agrupación de datos (posiblemente) heterogéneos (de distintos tipos), que se denomina bajo un único nombre, proporcionando

Más detalles

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

Más detalles

Realizar el ejercicio anterior utilizando Punteros

Realizar el ejercicio anterior utilizando Punteros PUNTEROS Y ARRAYS En C existe una relación entre punteros y arrays tal que cualquier operación que se pueda realizar mediante la indexación de un arrays, se puede realizar también con punteros. Para clarificar

Más detalles

Estructuras y Uniones

Estructuras y Uniones 1 Estructuras y Uniones Estructuras. Las estructuras ( struct ) son agrupaciones de una o más variables de tipos posiblemente diferentes, agrupadas bajo un mismo nombre. Esto permite un manejo más cómodo

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Tipos de datos definibles en Tipos de datos definibles en Estructuras Uniones Campos de bits Definición de tipos con typedef 2 1 Estructuras

Más detalles

TEMA 7. ARRAYS (LISTAS Y TABLAS).

TEMA 7. ARRAYS (LISTAS Y TABLAS). TEMA 7. ARRAYS (LISTAS Y TABLAS). En capítulos anteriores se han descrito las características de los tipos de datos básicos o simples (carácter, entero y coma flotante). Asimismo, se ha aprendido a definir

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Tema 10: Tipos de datos definidos por el usuario

Tema 10: Tipos de datos definidos por el usuario Tema 10: Tipos de datos definidos por el usuario Indice 1. Introducción 2. Registros 2.1. Elementos de un registro 2.2 Arrays de registros 2.3. Registros con arrays 2.4. Registros con registros 2.5. Paso

Más detalles

Laboratorio de Arquitectura de Redes. Datos en lenguaje C

Laboratorio de Arquitectura de Redes. Datos en lenguaje C Laboratorio de Arquitectura de Redes Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales Tamaño y rango de los datos

Más detalles

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Para crear un arreglo de cualquier tipo de elementos la sintaxis es: Arreglos (arrays) Un arreglo es una estructura de datos homogénea o conjunto de elementos del mismo tipo. En Java se pueden manejar arreglos de elementos de tipo primitivo (8 tipos primitivos hay en Java)

Más detalles

PUNTEROS (APUNTADORES)

PUNTEROS (APUNTADORES) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Sentencias de salto: break, continue, goto Sentencia de Salto: break

Sentencias de salto: break, continue, goto Sentencia de Salto: break 1.9.4. Sentencias de salto: break, continue, goto 1.9.4.1.- Sentencia de Salto: break La sentencia break se utiliza para terminar la ejecución de bucles o salir de una sentencia switch. Se puede utilizar

Más detalles

Tema 10: Arreglos estáticos en C

Tema 10: Arreglos estáticos en C Tema 10: Arreglos estáticos en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 00, Australia Autor principal del curso de 00 a 0 Iria Estévez Ayres Damaris Fuentes Lorenzo

Más detalles

12. Tipos de atributos

12. Tipos de atributos Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial V1.1 Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C V1.1 Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

Más detalles

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas

Más detalles

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo

Más detalles

Estructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente.

Estructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente. Estructuras en C INTRODUCCIÓN: Hasta ahora hemos trabajado con datos elementales (enteros, reales, caracteres) o con vectores (agregaciones de datos del mismo tipo). En ocasiones es necesario trabajar

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo

Más detalles

CAPITULO 2: VARIABLES Y CONSTANTES

CAPITULO 2: VARIABLES Y CONSTANTES CAPITULO 2: VARIABLES Y CONSTANTES 1. TIPOS DE DATOS. Existen cinco tipos de datos atómicos en C; char: carácter, int: entero, float: real coma flotante, double: real de doble precisión y void: sin valor.

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Guía práctica de estudio 03. Tipo de dato abstracto

Guía práctica de estudio 03. Tipo de dato abstracto Guía práctica de estudio 03. Tipo de dato abstracto Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 03. Tipo

Más detalles

6. Archivos. Programación II, FCFM, BUAP

6. Archivos. Programación II, FCFM, BUAP 6. Archivos Programación II, FCFM, BUAP Definición Un archivo o fichero desde el punto de vista informático es una colección de información almacenada en memoria secundaria (un medio externo) y no en memoria

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez PROGRAMACION ESTRUCTURADA II APUNTES 1er.PARCIAL Revisión de conceptos importantes #include #include ESTRUCTURAS struct computadora float costo; int anio; int velocidad_cpu; char tipo_cpu[16];

Más detalles

Sintaxis de los aspectos generales de un lenguaje de programación

Sintaxis de los aspectos generales de un lenguaje de programación Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para

Más detalles

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria.

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Objetivos El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Al final de esta práctica el alumno podrá: 1. Acceder a localidades de

Más detalles

Informática II para Bachillerato

Informática II para Bachillerato CIMAT Estructuras CIMAT Sesión 9 Estructuras Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura.

Más detalles

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos

Más detalles

TIPOS DE DATOS ESTRUCTURADOS

TIPOS DE DATOS ESTRUCTURADOS TIPOS DE DATOS ESTRUCTURADOS Arreglos unidimensionales, bidimensionales y cadenas de caracteres ESTRUCTURAS DE INFORMACIÓN Una estructura de datos o de información es una colección de datos que pueden

Más detalles

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Fundamentos de Informática Lección 5. Arreglos (vectores) Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Arreglos: Concepto

Más detalles

Objetivos. Conocer y saber utilizar diferentes tipos de datos. estructurados: cómo se definen. cómo están organizadas sus componentes

Objetivos. Conocer y saber utilizar diferentes tipos de datos. estructurados: cómo se definen. cómo están organizadas sus componentes Objetivos Conocer y saber utilizar diferentes tipos de datos estructurados: cómo se definen cómo están organizadas sus componentes cómo se accede a ellas y sus operaciones y algoritmos básicos Tema: Estructuras

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado

Más detalles

Programación I Teoría III.

Programación I Teoría III. Programación I Teoría III http://proguno.unsl.edu.ar proguno@unsl.edu.ar DATOS ESTRUCTURADOS Estructuras de Datos Hasta ahora hemos trabajado con Datos simples enteros reales Caracteres punteros Sin embargo,

Más detalles

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Introducción al lenguaje C V1.2 Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas

Más detalles

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno 1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

Programación. Arrays. Dr. (c) Noé Alejandro Castro Sánchez

Programación. Arrays. Dr. (c) Noé Alejandro Castro Sánchez Programación orientada a objetos Arrays Dr. (c) Noé Alejandro Castro Sánchez Arrays Medio para almacenar elementos (datos primitivos u objetos) del mismo tipo de dato. Cada elemento es accesible mediante

Más detalles

Notas de estructura de datos con lenguaje C. Estructuras de datos dinámicas

Notas de estructura de datos con lenguaje C. Estructuras de datos dinámicas Listas Enlazadas que está prohibida su impresión y distribución. Estructuras de datos dinámicas Contrariamente a las estructuras de datos estáticas (arreglos-listas, vectores y tablas- y estructuras) en

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Tipo de Dato: Arreglos

Tipo de Dato: Arreglos Tipo de Dato: Arreglos Unidimensionales Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Contenidos: 1. Punteros 2. Arrays 3. Estructuras (registros) y uniones 4. Funciones Ejercicios Algoritmos y

Más detalles

Estructuras. //identificador del cliente

Estructuras. //identificador del cliente Estructuras 1 Objetivos Al finalizar esta actividad, serás capaz de: 1. Escribir la declaración de una estructura de datos convenientemente especificada 2. Escribir el código necesario para acceder a un

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTOS DE PROGRAMACIÓN Universidad Nacional de Entre Ríos Facultad de Ingeniería Departamento de Informática FUNDAMENTOS DE PROGRAMACIÓN UNIDAD 5 ARREGLOS ESTÁTICOS Y ESTRUCTURAS Unidad 5 2 Introducción En esta unidad aprenderemos

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT C++ C/C++ de Datos CIMAT Sesión 15 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad, a diferencia de los arreglos

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Características del lenguaje C (I) Informática Ingeniería en Electrónica y Automática Industrial Tuvo mucho éxito desde el principio por ser Compacto Estructurado Portátil Flexible De tipo medio Muy difundido

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Vectores y cadenas en lenguaje C Vectores y cadenas en lenguaje C Vectores Declaración de vectores Vectores unidimensionales Vectores multidimensionales

Más detalles

ASIGNATURA PROGRAMACIÓN EN C++ GUÍA: 1 DOCENTE. LIZETH CORTÉS VARIABLES C++

ASIGNATURA PROGRAMACIÓN EN C++ GUÍA: 1 DOCENTE. LIZETH CORTÉS VARIABLES C++ ASIGNATURA PROGRAMACIÓN EN C++ GUÍA: 1 DOCENTE. LIZETH CORTÉS VARIABLES C++ Identificadores son conjuntos de letras y/o números que se utilizan para simbolizar todos los elementos que en un programa, son

Más detalles

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

Más detalles