6.7 Ejemplo de tipo estructurado

struct Persona
{
	char nombre [40];
	char apellidos [80];
	long telefono;
	long dni;
	char sexo;	
};


struct Persona usuario;

main ()
{
	usuario.dni = 43742809;
	strcpy ( usuario.apellidos, "Santana Melián" );
	strcpy ( usuario.nombre, "Jacinto Lerante" );
	usuario.telefono = 908330033;
	usuario.sexo = 'V';
}

Si hay campos del mismo tipo, se pueden declarar en la misma línea, separándolos por comas.
Se pueden declarar variables de tipo estructurado a la vez que se declara el tipo.

struct T
{

   int campo1, campo2, campo3; /* varios campos */

} v1, v2;	/* declaración de variables de tipo struct T */

...

v1.campo1 = 33;
v2.campo3 = 45;


También se permite omitir el tipo de la estructura ( estructura anónima ):

struct {
  char nombre [8];
  char extension [3];
} nombre_fichero;

En este caso, no se puede crear nuevas variables de ese tipo. No se recomienda usar este tipo de declaraciones.

Inicialización de estructuras


Una variable de tipo struct se puede inicializar en su declaración, escribiendo entre llaves los valores de sus campos en el mismo orden en que se declararon estos.

struct Persona
{
	char nombre [32];
	char apellidos [64];
	unsigned edad;
};

struct Persona variable = 
{ "Javier",  "Tocerrado", 32 };