Registros en C
-
Upload
edgar-pimentel -
Category
Documents
-
view
219 -
download
0
description
Transcript of Registros en C
![Page 1: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/1.jpg)
Registros en C
Introducción a la Computación
Clase 12
Patricia Borensztejn
![Page 2: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/2.jpg)
Registros
• Agrupación de datos de distinto tipo, accesibles a través de un identificador.
• Igual que en Python, lo que hacemos es definir un nuevo tipo de dato: por ej. el tipo Persona
![Page 3: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/3.jpg)
Como definir registros en C: struct
campos
Nombre del tipo
![Page 4: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/4.jpg)
Inicialización de registros
![Page 5: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/5.jpg)
Registros en C
• Se pueden copiar.
• No se pueden comparar.
• La copia , copia bit a bit. (No como en Python que copia la referencia)
• Los structs se pueden anidar, como en Python
![Page 6: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/6.jpg)
Definición de nuevos tipos: typedef
• Si usamos la palabra typedef, entonces podemos utilizar el nombre del struct como nuevo nombre de tipo al declarar las variables o los campos de otros structs
![Page 7: Registros en C](https://reader031.fdocuments.ec/reader031/viewer/2022020222/577c77491a28abe0548b7f3c/html5/thumbnails/7.jpg)
typedef
• También podemos crear tipos nuevos de otros predefinidos: typedef char mitipochar;
typedef int mitipoint;
……
mitipochar edad;
mitipoint numero;
• Mejor no abusar de estas cosas, porque al final confunden mas que ayudan… y son fuente de errores…