Estructura en c++

Solo disponible en BuenasTareas
  • Páginas : 6 (1352 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de marzo de 2012
Leer documento completo
Vista previa del texto
1-Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura. Una estructura es un tipo de dato definido por el usuario, al utilizar una estructura Usted tiene la habilidad para definir un nuevo tipo de dato considerablemente más complejo que los tipos que hemos utilizado hasta ahora. Unaestructura es una combinación de varios tipos de datos previamente definidos, incluyendo otras estructuras que hayamos definido previamente. Es una colección de variables simples, que pueden contener diferentes tipos de datos. Es un tipo de dato definido por el usuario. Son también conocidas como Registros. Ayudan a organizar y manejar datos complicados en programas debido a que agrupan diferentes tiposde datos a las que se les trata como una sola unidad en lugar de ser vistas como unidades separadas.
Los tipos estructura se declaran mediante la palabra clave struct.
struct: esta orden se emplea para agrupar variables de tipos iguales o diferentes en un solo registro, con la misma se pueden crear estructuras anónimas, estructuras con nombre, y un tipo especial de estructura conocida comobit-fields ( banderas o campos de bits ).
Sintaxis general:
struct [<nombre de la estructura>] {
[<tipo> <nombre de variable>[,<nombre de variable>,...]];
.} [<variable de estructura>[,<variable de estructura>,...];

Ejemplo

2-Acceso a los miembros de una estructura
C++ dispone de dos operadores para referenciar a losmiembros de estructuras y uniones. Son conocidos como operadores de selección de miembro:

Selector directo de miembro El selector directo de miembro (.) es un operador binario que debe usarse para acceder a los miembros de clases, estructuras y uniones.
Sintaxis expresión . Identificador
Expresión debe ser un objeto de tipo clase, unión o estructura.
Identificador debe ser un miembro de la clase,unión o estructura indicada en expresión.

Selector indirecto de miembro El selector indirecto de miembro ( -> ) es un operador binario que puede utilizarse para acceder a miembros de clases, estructuras y uniones a través de punteros. el hecho de acceder a objetos a través de punteros se denomina indirección (de ahí el nombre de este operador), y constituye un recurso de capital importancia yconstante uso en programación
Sintaxis ClPtr -> identificador
ClPtr debe ser un puntero a clase; puntero a estructura o puntero a unión.
identificador debe ser el nombre de un miembro de la clase, estructura o unión a que señala el puntero.
Ejemplo
struct Str { // declara estructura Str
int i;
char a;
} s, *sptr = &s; // declara s tipo Str, y sptr puntero a s
...s.i = 3; // asigna 3 al miembro i de s
sptr -> a = 'B'; // asigna 'B' al miembro a.s

3-Asignar estructura
La asignación de estructuras está permitida, pero sólo entre variables del mismo tipo
de estructura, salvo que se usen constructores, y funciona como la intuición dice que
debe hacerlo.
Veamos un ejemplo:
struct Punto {
int x, y;
Punto() {x = 0; y = 0;}
} Punto1,Punto2;
int main() {
Punto1.x = 10;
Punto1.y = 12;
Punto2 = Punto1;
}
La línea:
Punto2 = Punto1;
equivale a:
Punto2.x = Punto1.x;
Punto2.y = Punto1.y;
5-Estructuras anidadas
Los miembros de una estructura pueden ser ellos mismos otra estructura previamente identificada o bien una estructura anónima. está permitido anidar estructuras, con lo cual se pueden conseguir superestructuras muyelaboradas. estructuras anidadas, es decir, si la estructura B contiene un campo a de tipo estructura A, los sub-miembros de a pueden ser accedidos mediante una doble aplicación del operador de selección.

Ejemplo
struct stDireccion \{
char Calle[64];
int Portal;
int Piso;
char Puerta[3];
char CodigoPostal[6];
char Poblacion[32];
};

struct stPersona \{...
tracking img