TRABAJO DE INVESTIGACION ESTRUCTURAS.

08.06.2013 06:05

 

 

          

INSTITUTO TECNOLOGICO DE SALINA CRUZ

 

 

UNIDAD 8. ESTRUCTURAS.

8.1. DEFINICIÓN DE ESTRUCTURAS

8.2. INICIALIZACIÓN DE ESTRUCTURAS

8.3. UTILIZACIÓN DE ESTRUCTURAS CON FUNCIONES.

 

 

TRABAJO DE INVESTIGACION DOCUMENTAL QUE PARA ACREDITAR LA MATERIA DE ALGORITMOS Y PROGRAMACION PRESENTA:

 

Fabián Cruz Raquel

 

TITULAR DE LA MATERIA: M. EN C. SUSANA MONICA ROMAN NAJERA

CARRERA: ING. MECANICA GRUPO: 2B1

 

 

 

 

 

 

 

INDICE DE CONTENIDO.

 

 

 

 

INTRODUCCION……………………………………………………………..3

DEFINICION DE ESTRUCTURA…………………………………………...4

INICIALIZACION DE ESTRUCTURA………………………………………6

UTILIZACION DE ESTRUCTURAS CON FUCNCIONES……………….7

CONCLUSIONES Y FUENTES DE INFORMACION……………………11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INTRODUCCION.

 

 

Estructuras en C Estructuras Como hemos visto antes el array es una estructura de datos cuyos elementos son del mismo tipo, ahora nos enfocaremos en las estructuras (también conocidas como registros) que son estructuras de datos cuyos elementos individuales pueden ser de distinto tipo. Estos elementos individuales dentro de una estructura se llaman miembros. Para utilizar estructuras en C se requieren de 2 cosas: 1. Declarar la estructura con todos sus miembros. 2. Declarar la variable del nuevo tipo de dato creado. 1. Struct identificador { Tipo 1, miembro 1; Tipo 2, miembro 2; . . . Tipo n, miembro n; Donde struct es una palabra reservada de C, la cual es requerida siempre, ya que hace referencia a que es una estructura. Identificador es el nombre del tipo de dato. Tipo 1 es el tipo de dato del miembro. miembro, es el nombre de la variable que pertenece a la estructura.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8.1. Definición de una estructura.


Una estructura es un tipo de dato compuesto que permite almacenar un conjunto de datos de diferente tipo. Los datos que contiene una estructura pueden ser de tipo simple (caracteres, números enteros o de coma flotante etc.) o a su vez de tipo compuesto (vectores, estructuras, listas, etc.). 

 

A cada uno de los datos o elementos almacenados dentro de una estructura se les denomina miembros 
de esa estructura y éstos pertenecerán a un tipo de dato determinado.  
 

Sintaxis y reglas para estructuras en C/C++

En C/C++ se forma una estructura utilizando la palabra reservada struct, seguida por un campo etiqueta opcional, y luego una lista de miembros dentro de la estructura. La etiqueta opcional se utiliza para crear otras variables del tipo particular de la estructura:

struct campo_etiqueta{

  tipo_miembro miembro_1;

  tipo_miembro miembro_2;

  tipo_miembro miembro_3;

  :

  :

  tipo_miembro miembro_n;

};

Un punto y coma finaliza la definición de una estructura puesto que ésta es realmente una sentencia C/C++ . Algunos de los ejemplos usan la estructura:

struct stbarco{

  char sztipo[iString15+iNull_char];

  char szmodelo[iString15+iNull_char];

  char sztitular[iString20+iNull_char];

  int ianio;

  long int lhoras_motor;

  float fprecioventa;

};

En un programa, podemos asociar una variable con una estructura utilizando una sentencia similar a la siguiente:

struct stbarco stbarco_usado;

 

La sentencia define stbarco_usado de tipo struct stbarco. La declaración requiere el uso del campo etiqueta de la estructura. Si esta sentencia está contenida dentro de una función, entonces la estructura, llamadastbarco_usado, tiene un ámbito local a esa función.

Si la sentencia está contenida fuera de todas las funciones de programa, la estructura tendrá un ámbito global. Es posible declarar una variable usando esta sintaxis:

struct stbarco{

  char sztipo[iString15+iNull_char];

  char szmodelo[iString15+iNull_char];

  char sztitular[iString20+iNull_char];

  int ianio;

  long int lhoras_motor;

  float fprecioventa;

} stbarco_usado;

Aquí la declaración de variable va antes del punto y coma final. Cuando se asocia sólo una variable con el tipo estructura, el campo etiqueta puede ser eliminado, por lo que sería posible escribir:

struct {

  char sztipo[iString15+iNull_char];

  char szmodelo[iString15+iNull_char];

  char sztitular[iString20+iNull_char];

  int ianio;

  long int lhoras_motor;

  float fprecioventa;

} stbarco_usado;

 

 

 

 

 

 

 

 

 

 

 

 

8.2. Inicialización de estructuras

De un modo parecido al que se inicializan los arrays, se pueden inicializar estructuras, tan sólo hay que tener cuidado con las estructuras anidadas. Por ejemplo:

 

struct A {
   int i;
   int j;
   int k;
};
 
struct B {
   int x;
   struct C {
      char c;
      char d;
   } y;
   int z;
};
 
A ejemploA = {10, 20, 30};
B ejemploB = {10, {'a', 'b'}, 20};

 

 

 

 

 

 

 

 

 

 

 

 

 

8.3. Utilización de estructuras con funciones.

El paso de estructuras a funciones.

Hasta ahora todas las estructuras y arrays de estructuras utilizados en los ejemplos han sido globales. Ahora veremos como pasar un elemento de una estructura a función. Cuando una estructura se pasa a una función, ocurren cambios en la forma en que se referencia un elemento de la estructura.

 

 

Figura 1. Paso de estructuras a funciones.

 

 

Figura 2. Paso

 

 

FIGURA 3. Programa que imprime en pantalla horas, minutos y segundos.

 

 

 

 

 

 

 

 

 

 

 

 

 

CONCLUSIONES.

En las estructuras solo podemos acceder a los miembros de uno en uno, esto es, que podemos pedir o mostrar miembros de uno en uno, y se realiza mediante la siguiente anotación: Variable.miembro Donde variable es el nombre precisamente de la variable de tipo estructura, y miembro -el que va enseguida de el punto- es el nombre de la variable de uno de los miembros que pertenecen a dicha estructura. Ejemplo: Struct uno { Int b; char c; float a; } letras; Para acceder al miembro c seria: letras.c 

 

 

 

 

 

FUENTES DE INFORMACION:

Schildt Herbert ,Lenguaje de programación C, MC Graw Hill

https://c.conclase.net/curso/?cap=011  En línea consultado el día sábado 1 de junio de 2013

https://computacion.cs.cinvestav.mx/~acaceres/courses/estDatosCPP/node15.html En línea consultado el día sábado 1 de junio de 2013

https://decsai.ugr.es/~jfv/ed1/c/cdrom/cap7/cap71. En línea consultado el día sábado 1 de junio de 2013