Struct
Struct
Struct
Fecha de
Entrega:17/04/2017
O
struct [<identificador>] pc
n i
{ 1
El identificador de la estructura es un
[<tipo> <nombre_objeto>[,<nombre_objeto>,...]]; nombre opcional para referirse a la
} estructura.
Los objetos de estructura son objetos
[<objeto_estructura>[,<objeto_estructura>,...]]; declarados del tipo de la estructura, y
su inclusin tambin es opcional. Sin
bien, an siendo ambos opcionales, al
O menos uno de estos elementos debe
pc existir.
i n
Struct nombre{ //Palabra En el interior de una estructura, entre
2
reservada struct las llaves, se pueden definir todos los
<Tipo de dato> <nombre>; // int,char,float elementos que consideremos
etc, nombre necesarios, del mismo modo que se
declaran los objetos.
<Tipo de dato> <nombre>;
Las estructuras pueden referenciarse
<Tipo de dato> <nombre>; completas, usando su nombre, como
}; hacemos con los objetos que ya
conocemos, y tambin se puede
EJEMPLO Ej
em
pl
o
struct Persona { 2
char Nombre[65];
Ej
e m char Direccion[65];
pl int AnyoNacimiento;
o
1 } Fulanito;
Almacena los datos necesarios para
realizar una compra:
Nombre
Producto
Numero de cuenta
Precio
Fecha de compra
Este ejemplo define la
Struct compra{
estructura PERSONA y declara a
char nombre[30];
Fulanito como un objeto de ese
char producto [25];
tipo.
Int num;
Para acceder al nombre de
Float precio;
Fulanito, por ejemplo para
Char fecha[20]
visualizarlo, usaremos la forma:
};
cout << Fulanito.Nombre;
DECLARANDO VARIABLES
Ej
e m
pl
o
Struct info_direccin{ 1
Char direccion[30];
Char ciudad[20];
Char provincia[20];
};
Struct empleado{
Char nombre[20];
Struct info_direccin dir_empleado;
Double salario;
};
ESTRUCTURAS ANIDADAS
En general, no es una prctica corriente
definir estructuras dentro de estructuras,
Ej ya que tienen un mbito local, y para
struct stDireccion { em
char Calle[64]; pl acceder a ellas se necesita hacer
o referencia a la estructura ms externa.
int Portal; 2
int Piso; Por ejemplo para declarar un objeto del
char Puerta[3]; tipo stNombre hay que utilizar el
char CodigoPostal[6]; operador de acceso (::):
char Poblacion[32];
};
stPersona::stNombre
struct stPersona { NombreAuxiliar;
struct stNombre { Sin embargo para declarar un objeto de tipo
char Nombre[32]; stDireccion basta con declararla:
char Apellidos[64];
} NombreCompleto;
stDireccion Direccion;
stDireccion DireccionAuxiliar;
char Telefono[10];
};
...