Está en la página 1de 16

ESTRUCTURAS EN LENGUAJE C

Prof. Duwlian Montalti


• Una estructura contiene varios miembros. La forma
de definir una estructura es haciendo uso de la
palabra clave struct
struct datos {
int cedula;
char nombre[30];
float sueldo;
} cliente;

• “cliente" es una instancia de “datos" y no es necesario


ponerla aquí. Se podría omitir de la declaración de
“datos" y más tarde declararla usando: struct datos
cliente; cliente contendria (los mismo miembros de
datos)
Typedef
La palabra reservada typedef proporciona un mecanismo para la creación de sinónimos
(o alias) para tipos de datos anteriormente de nidos. Por ejemplo:

typedef struct ejemplo ;


Define como un sinónimo de ejemplo.
Una forma alternativa de de unir una estrutura es:

typedef struct {
char c;
int i;
} nueva_var;

Podemos ahora utilizar nueva_var para declarar variables del tipo struct, por ejemplo

nueva_var datos[10];
Ejemplo
Veamos primero un ejemplo de un programa que declara y usa
El programa declara una variable llamada cliente que es
estructura para representar aunaunestructura
cliente. que contiene tres campos: un campo de
#include <stdio.h> tipo entero llamado id para almacenar el identificador
del cliente, un vector de caracteres llamado nom para
almacenar el nombre y un real llamado saldo para
main () almacenar el saldo del cliente.
{ El acceso a cada uno de esos campos es muy fácil.
Simplemente se escribe el nombre de la variable, un
struct
punto y el nombre del campo al que queremos acceder.
{
int id; //identificador del cliente
char nom[20]; // nombre
float saldo; // saldo
} cliente;

printf ("Escribe el identificador y el nombre del cliente\n");


scanf ("%d %s", &cliente.id, cliente.nom);
cliente.saldo =0.0;

if (cliente.id > 100)


printf (" El cliente es %s\n",cliente.nom);
}
Ejemplo
Otra forma de de hacer el programa, con la “struct” antes del “main” y
creando una variable de ese tipo de datos.
#include <stdio.h>

struct datos
{
int id; //identificador del cliente
char nom[20]; // nombre
float saldo; // saldo
};

main (){
struct datos cliente;//declaramos la variable "cliente" tipo "struct datos"
printf ("Escribe el identificador y el nombre del cliente\n");
scanf ("%d %s", &cliente.id, cliente.nom);
cliente.saldo =0.0;
if (cliente.id > 100)
printf (" El cliente es %s\n",cliente.nom);
}
#include <stdio.h>
#define MAX 100
typedef struct
{
int id; //identificador del cliente
char nom[20]; // nombre
float saldo;
} Tcliente;
typedef struct
{ id nom saldo id nom saldo id nom saldo

int numero;
Tcliente cliente[MAX];
}Tlista;
void main ()
{ 1 2 3 ...100
Tlista mis_clientes;
int i;
printf ("Escribe el numero de clientes\n");
scanf ("%d", &mis_clientes.numero);
for (i=0; i<mis_clientes.numero; i++)
{
printf ("Escribe idenfificador, nombre y saldo\n");
scanf ("%d",&mis_clientes.cliente[i].id);
scanf ("%s",&mis_clientes.cliente[i].nom);
scanf ("%f",&mis_clientes.cliente[i].saldo);
};
for (i=0; i<mis_clientes.numero; i++)
if (mis_clientes.cliente[i].saldo > 100.0)
printf (" El cliente es %s\n",mis_clientes.cliente[i].nom);
}

También podría gustarte