typedef C. Declaración de tipos definidos por el usuario. Ejemplo ejercicio resuelto arrays o arreglos (CU00513F)

Resumen: Entrega nº13 del tutorial "Curso básico de programación en lenguaje C desde cero".
Codificación aprenderaprogramar.com: CU00513F

 

 

DECLARACIÓN DE TIPOS CON TYPEDEF EN C

C permite que el programador defina sus propios tipos de datos mediante la palabra clave typedef. Esta palabra puede tener distintos usos. Vamos a ver ahora uno de ellos.

La sintaxis a emplear requiere cumplir con dos pasos.

logo lenguaje programacion C

 

El primero, declarar un tipo de datos que es el tipo del array y que nos permitirá crear cuantas variables queramos de ese tipo, es decir, cuantos arrays queramos conteniendo un mismo tipo de dato y un mismo número de elementos en el array. La sintaxis será:

typedef   tipoDeElementosDelArray  nombreDelTipoArray  [numeroElementos];

 

 

Ejemplo: typedef int TipoVectorEnteros [4]; declara que se crea un nuevo tipo de datos, definido por nosotros, denominado TipoVectorEnteros, que contendrá 4 valores de tipo int.

El segundo paso para hacer uso del tipo definido implica que hemos de crear una variable del tipo definido por nosotros en la expresión anterior. Al igual que para declarar un entero escribimos int nombreVariable;, para declarar un array del tipo creado por nosotros escribiremos nombreDelTipoDefinido nombreVariable;

Para el ejemplo que hemos puesto, escribiríamos lo siguiente: TipoVectorEnteros vector1; donde vector1 es el nombre que le damos al vector que hemos creado, que contendrá cuatro valores enteros (obviamente estos valores podemos modificarlos).

Ejemplos de declaración de tipos arrays serían:

-        typedef int TipoVectorVez [9];

-        typedef char VectorAmigo [1000];

-        typedef double DecimalNum [24];

-        typedef int VectorInt [23];

-        typedef int TipoVectorLong[8];

-        typedef char TipoPalabra[255];

 

Tras declarar el tipo tendríamos que declarar variables de ese tipo, por ejemplo: TipoVectorVez vez;, VectorAmigo amigo;, DecimalNum numDecimal;, VectorInt numeroDeCoches; ó TipoVectorLong jugador;. Podemos definir múltiples arrays del mismo tipo, por ejemplo:

VectorInt numeroDeCoches;

VectorInt numeroDePersonas;

VectorInt numeroDeRuedas;

VectorInt pruebasRealizadas;

 

¿Cómo elegir los nombres de los tipos y los nombres de las variables? No existen reglas precisas al respecto, pero te recomendamos para los nombres de tipos usar siempre un prefijo que comience con mayúsculas que podría ser Tipo y para las variables un nombre que comience por minúsculas. Es un convenio que siguen muchos programadores, aunque no es obligatorio. Los nombres de tipos y variables deben ser lo más descriptivos posibles para hacer el programa fácil de leer y de entender. Piensa que es válido tanto declarar typedef int TipoVectorInt; como typedef int TVI; Sin embargo es más correcto usar TipoVectorInt que TVI porque resulta más descriptivo de la función y cometido del tipo VectorInt que tres letras cuyo significado es poco entendible.

Crea un proyecto y escribe el siguiente código:

#include <stdio.h>
#include <stdlib.h>
// Ejemplo aprenderaprogramar.com
int main() {
typedef int TipoVectorEnteros [4];
TipoVectorEnteros numeroDeCoches;

numeroDeCoches[0] = 32;
numeroDeCoches[1]=0; numeroDeCoches[2]=0; numeroDeCoches[3]=0;
printf ("El numero de coches en la hora cero fue %d \n", numeroDeCoches[0]);
printf ("El numero de coches en la hora uno fue %d \n", numeroDeCoches[1]);
printf ("El numero de coches en la hora dos fue %d \n", numeroDeCoches[2]);
printf ("El numero de coches en la hora tres fue %d \n", numeroDeCoches[3]);
return 0;
}

 

 

El resultado de ejecución será el mismo que vimos anteriormente.

La definición de tipos con typedef es una posibilidad que brinda el lenguaje C pero que no está disponible en todos los lenguajes.

En estos momentos es normal que puedas confundir nombres de tipos con nombres de variables. Ten en cuenta que se trata de cosas distintas: un tipo es “un molde” con el que podemos crear tantas variables de ese tipo como deseemos. A medida que practiques con estos conceptos te resultará más fácil trabajar con ellos.

 

 

EJERCICIO

Crea el código de un programa que cumpla las siguientes premisas. Declara un tipo definido por el usuario que se llame TipoVectorDe10 y que contenga 10 elementos de tipo entero. Declara una variable de nombre edadesConcursantes que sea de tipo TipoVectorDe10. Establece las siguientes edades para cada uno de los elementos del array (arreglo): 55, 24, 34, 26, 46, 62, 45, 24, 31, 61. Muestra por pantalla, haciendo uso de los elementos del array, mensajes informando de la edad de las personas. Por ejemplo: La edad de la primera persona es 55 annos. La edad de la segunda persona es 24 annos. La edad de la tercera persona es… etc. (No usamos la eñe).

 

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

FEBRERO - MARZO 2017

1. Java / J2EE
2. Entornos Oracle
3. JavaScript, jQuery
4. .NET, C#
5. Entornos SQL Server
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación