Beruflich Dokumente
Kultur Dokumente
Al contrario que los arrays, las estructuras nos permiten agrupar varios
datos, que mantengan algn tipo de relacin, aunque sean de distinto tipo,
permitiendo manipularlos todos juntos, usando un mismo identificador, o
cada uno por separado.
Las estructuras son llamadas tambin muy a menudo registros. Tienen
muchos aspectos en comn con los registros usados en bases de datos.
Sintaxis:
struct [<identificador>] {
[<tipo> <nombre_objeto>[,<nombre_objeto>,...]];
} [<objeto_estructura>[,<objeto_estructura>,...];
Ejemplo:
struct Persona {
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Fulanito;
Este ejemplo define la estructura Persona y declara a Fulanito como un
objeto de ese tipo. Para acceder al nombre de Fulanito, por ejemplo para
visualizarlo, usaremos la forma:
Forma 1:
struct Punto {
int x, y;
Punto() {x = 0; y = 0;} // Constructor
} Punto1, Punto2;
Forma 2:
struct Punto {
int x, y;
Punto(); // Declaracin del constructor
} Punto1, Punto2;
Otro ejemplo:
#include <iostream>
using namespace std;
struct stPareja {
int A, B;
int LeeA() { return A;} // Devuelve el valor de A
int LeeB() { return B;} // Devuelve el valor de B
int main() {
Par.GuardaA(15);
Par.GuardaB(63);
cout << Par.LeeA() << endl;
cout << Par.LeeB() << endl;
return 0;
}
En este ejemplo podemos ver cmo se define una estructura con dos
campos enteros, y dos funciones para modificar y leer sus valores. El
ejemplo es muy simple, pero las funciones de guardar valores se pueden
elaborar para que no permitan determinados valores, o para que hagan
algn tratamiento de los datos.
struct A {
int i;
int j;
int k;
};
struct B {
int x;
struct C {
char c;
char d;
} y;
int z;
};
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;
}
Hasta ahora, los constructores que hemos visto no usaban argumentos, pero
eso no significa que no puedan tenerlos.
struct complejo {
double real;
double imaginario;
};
Esta estructura es suficiente para muchas de las cosas que podemos hacer
con nmeros imaginarios, pero aprovechando que podemos crear funciones,
podemos aadir algunas que hagan de una forma ms directa cosas que de
otro modo requieren aadir cdigo externo.
struct complejo {
complejo() { real=0; imaginario = 0; }
double real;
double imaginario;
};
complejo array[10];
El constructor por defecto ser llamado para cada elemento del array,
aunque no aparezca tal llamada en ningn punto del programa.
Otro constructor nos puede servir para asignar un valor a partir de dos
nmeros:
struct complejo {
complejo() { real=0; imaginario = 0; }
complejo(double r, double i) { real=r; imaginario = i; }
double real;
double imaginario;
};
struct complejo {
complejo() { real=0; imaginario = 0; }
complejo(double r, double i) { real=r; imaginario = i; }
complejo(double r) { real=r; imaginario = 0; }
double real;
double imaginario;
};
complejo c1(19.232);
complejo c2 = 1299.212;
int x = 10;
complejo c3 = x;
Ejemplo:
struct Persona {
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Plantilla[200];
Vemos en este ejemplo lo fcil que podemos declarar el array Plantilla que
contiene los datos relativos a doscientas personas.
Plantilla[0] = Plantilla[99];
Estructuras anidadas
^
Ejemplo:
struct stDireccion {
char Calle[64];
int Portal;
int Piso;
char Puerta[3];
char CodigoPostal[6];
char Poblacion[32];
};
struct stPersona {
struct stNombre {
char Nombre[32];
char Apellidos[64];
} NombreCompleto;
stDireccion Direccion;
char Telefono[10];
};
...
Por ejemplo para declarar un objeto del tipo stNombre hay que utilizar el
operador de acceso (::):
stPersona::stNombre NombreAuxiliar;
stDireccion DireccionAuxiliar;
struct Persona \{
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Plantilla[variable];
int main()
int variable;
cin>>variable;
....
Hola scar,
struct Persona
{
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
};
int main()
{
Persona Plantilla[10];
...
}
La regla general es que las variables son locales y lo dems es global: tipos
de datos, constantes, y funciones (prototipos y definiciones).
int main()
{
Persona Plantilla[10];
int nCantActual;
cout << "Cuantas personas declararas en tu lista? (Max: 10)";
cin >> nCantActual;
...
}
Steven
pablo
2011-10-11 23:32:05
Tetraedro
Cubo
Octaedro
o Disea un men, una vez que cuentas con las coordenadas de los objetos,
en el cual se puedan elegir las siguientes operaciones a realizar sobre los
poliedros:
#include <stdio.h>
struct punto
int x;
int y;
int z;
};
int main()
struct tetraedro
};
struct cubo
};
struct octaedro
};
Steven R. Davidson
2011-10-12 01:44:22
Hola Pablo,
Podras definir un punto 3D con coordenadas enteras, pero sugiero que sean
de coma flotante, como por ejemplo 'float' o 'double'.
struct tetraedro
{
struct punto vertices[4];
};
Me temo que deberas cambiar la definicin del cubo por la del octaedro, y
viceversa. El cubo tiene 8 vrtices y el octaedro (regular) tiene 6 vrtices.
Para el resto de las tareas que debes implementar, sugiero que busques
informacin acerca de las transformaciones afines que son la traslacin,
rotacin, y cambio de escala.
Steven
anonimo
2011-10-30 00:16:39
Por favor, pueden arreglar lo de las barras en los cdigos? la verdad molesta
mucho...
belky sagrario velasquez
2012-02-28 04:31:38
mire tengo un programa en el cual me piden que usando uif y for muestre
cual es la nota mayor y cual es la menor no entiendo me pueden ayudar se
los agradesere mucho
gyakuza
2012-02-29 01:50:35
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
struct perro{
char fecha[10];
char raza[30];
char color[50];
char nombre[30];
int edad;
float peso;
} perros[100];
printf( "\n----------------------------------------\n");
printf( "\n----------------------------------------\n");
scanf("%d",&op);
switch (op){
printf( "\n------------------------------\n");
else{
/*Si hay espacio pide los datos del perro y los guarda en el registro c del
arreglo */
fflush(stdin);
gets( perros[c].nombre);
gets( perros[c].color);
gets( perros[c].raza);
scanf("%d" ,&perros[c].edad);
scanf("%f" ,&perros[c].peso);
c++;
break;
printf( "\n-------------------------------\n");
scanf("%d",&clave);
printf( "nombre:%s\n",perros[clave].nombre);
break;
break;
}
Evy
2012-03-17 20:13:42
struct Persona {
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Plantilla[200];
main()
cout<<"Cual es tu nombre?";
cin>>Plantilla[0].Nombre;
Plantilla[0].AnyoNacimiento=1988;
cout<<Plantilla[0].AnyoNacimiento<<endl;
cout<<Plantilla[0].Nombre<<endl;
cout<<Plantilla[0].Nombre<<endl;
GRACIAS
Steven R. Davidson
2012-03-17 23:21:10
Hola Evy,
En primer lugar, la funcin 'main()' DEBE definirse como 'int' para el tipo de
retorno.
En cuanto a tu comentario:
Steven
marcillo
2012-05-04 03:40:02
#include <iostream.h>
#include <stdio.h>
struct competencia
{ char nombre_atleta[50];
float tiempo_alcanzado;
};
if(estr.tiempo_alcanzado<=3)
getch();
void main()
clrscr();
struct competencia A;
ingresar(A);
verificacion(A);
getch();
}
Humberto
2012-05-16 04:50:52
Alguien me puede Ayudar con este Proyecto se los voy agradecer mucho..!!!
Transacciones de Clientes:
Creacin/Edicin/Eliminar Clientes
Transacciones de Productos:
Creacin/Edicin/Eliminar Productos
Transacciones de Inventario:
Actualizar inventario
Transacciones de Facturas:
Bsquedas requeridas:
Observaciones:
Las bsquedas tienen que involucrar una transferencia del contenido de los
archivos a un arreglo para que la bsqueda sea realizada en el arreglo. En
este proyecto se permiten grupos de un mximo de 2 integrantes.
Liz|
2012-06-26 02:44:27
Hola, me podran ayudar de menos con ideas para realizar este programa
xfavor? es que esta muy revuelto y no estoy logrando mucho, gracias de
antemano.
#include<stdio.h>
#include <stdlib.h>
#include<conio.h>
#include <string.h>
struct huer {
char nom[20];
char norf[50];
char est[40];
};
struct huer;
int main()
scanf("%s",&nom);
scanf("%s",&norf);
scanf("%s",&est);
scanf("%d",&sex);
scanf("%d",&n);
porcen=(nest*100)/n;
getch();
return(0);
}
Angel
2012-08-17 17:39:15
#include <iostream>
#include <stdio.h>
void Leer(Estudiante&Est);
void Imprimir(Estudiante&Est);
struct Estudiante
char Nombre[100];
float Edad;
char Carrera[5];
float Calif[4];
};
int main()
Estudiante Est;
Leer(Est);
Imprimir(Est);
system("PAUSE");
void Leer(Estudiante&Est)
cin>>Est.Boleta;
gets(Est.Nombre);
cin>>Est.Edad;
gets(Est.Carrera);
cin>>Est.Calif;
void Imprimir(Estudiante&Est)
cout<<"Boleta: "<<Est.Boleta<<endl;
cout<<"Nombre: "<<Est.Nombre<<endl;
cout<<"Edad: "<<Est.Edad<<endl;
}
Steven R. Davidson
2012-08-17 18:39:41
Hola ngel,
struct Estudiante
{
long int Boleta;
char Nombre[100];
float Edad;
char Carrera[5];
float Calif[4];
};
#include <cstdlib>
- En 'Leer()', lees primero un entero, para el campo 'Boleta', y luego lees una
cadena de caracteres. Obtendrs un comportamiento inesperado e
indeseado. El programa aparentar "saltarse" la lectura de esta cadena y
pasar a leer el entero, 'Edad'. Esto es porque en el canal de entrada (el
teclado) queda un carcter '\n'. Al leer una cadena de caracteres, se lee
este carcter sin pedir caracteres al usuario. Esto aparenta "saltarse" la
lectura.
Steven
Sony Turcios
2012-08-29 23:59:56
Hola viendo tu pag me ayudo con el tema de las estructuras, pero tengo una
duda en un programa ya q ue no me quedo como me lo pidieron.
#include <iostream>
struct NombreEdad
char nombre[20];
int edad;
}persona[3];
int main()
NombreEdad EDAD;
for(int i=1;i<4;i++)
cin>>persona[i].nombre;
cout<<"Ingrese Edad:";
cin>>persona[i].edad;
cout<<"\n\n";
EDAD.CompararEdad(2,3);
system("PAUSE");
return 0;
Alguien me podria dar una solucion para poder realmente comparar las
edades
Gavilan
2012-11-24 05:11:58
URGENTE!
hola me podrias ayudar lo que tengo muy poco que empece a programar y
me encargaron una tarea y no encuentro la solucion y lo que hice es
contactarme con ustedes ayudenmepor favor este es el programa
Apellido: Luna
Materia: Programacion
Mi problema es el siguiente; quiero hacer una tabla que pida las asignaturas
en las que esta matriculado un alumno (maximo 8 asignaturas), y luego me
pida el nombre de cada asignatura.
#include <iostream>
int main(){
int nasign=0;
do{
system("Pause");
system("cls");
}while(nasign<=0 || nasign>8);
system("pause");
return 0;
}
fulanito
2013-01-14 11:50:43
struct fnum { int num; int serie;}; (como loteria numero y reintegro)
despues tienes crear una matriz ccon primer premio, segundo premio y
lugar (para el lugar te dan un archivo con todas las convinaciones)
Buenos dias..
Tengo una aplicacion hecha con objetos es una aplicacin bien grande.
resulta que ahora tengo que implementarla sobre un procesador, que por su
estructura no soporta binarios generados desde codigo en C++, por lo que
debo esribir el codigo directamente sobre C. Realmente deseo
class Triangulo
public:
float cat_opuesto;
float cat_adyacente;
float hipotenusa;
Triangulo();
};
La idea es que no tenga que hacer mucho para poder migrar el codigo.
---------triangulo.h------------------
float cat_opuesto;
float cat_adyacente;
float hipotenusa;
PTRN_Triangulo FnTriangulo;
// Constructor de la clase
}TRIANGULO;
void Triangulo(void);
------------------------------
--------Triangulo.c-----------
void Triangulo(void)
_triangulo.cat_opuesto = 0;
_triangulo.cat_adyacente = 0;
_triangulo.hipotenusa = 0;
------------------------------
el problema radica que dentro del "Metodo" no puedo usar los "Atributos".
La idea es que no tenga que mantener una "Instancia" activa todo el tiempo
que la aplicacion este en funcionamiento ya que tengo limitaciones de
hardware.
S que es algo poco convencional pero si alguien sabe como lo puedo usar
algo muy parecido a usar objetos les inmenzamente agradecido.
Gracias.
Edwin Bohorquez
2013-01-28 00:59:59
Hola, tengo una pregunta: Como puedo acceder a los campos de una
estructura anidada, para realizar una asignacion?.
En el siguiente codigo asigne una cadena a cada uno de estos campos, para
despues imprimirlos, pero el compilador me dice que tengo errores.
#include<iostream.h>
struct stPersona {
struct stNombre {
char Nombre[32];
char Apellidos[64];
} NombreCompleto;
char Telefono[10];
};
int main()
NombreAuxiliar.Nombre="Edwin";
NombreAuxiliar.Apellidos="Bohorquez";
cout<<NombreAuxiliar.Nombre<<endl<<endl;
cout<<NombreAuxiliar.Apellidos<<endl;
system("pause");
Este codigo lo tome del capitulo 11 del curso de C++, solo lo modifique un
poco.
Sala 6 para todos ellos) hay 5 sesiones diarias, en las que pueden exhibirse
pelculas distintas,
"El Secreto de Thomas Crown", hora de inicio: 20 h., Ren Ruso y Pierce
Brosnan, TP
Oceans Eleven, hora de inicio: 24:00h., George Clooney y Brad Pitt, M18
(ya que es variable segn el da, cine y sala), su ttulo, sus dos principales
protagonistas, y su
calificacin por edades enumerado que podr ser TP (todos los pblicos),
M13 (Mayores de
13 aos) o M18 (Mayores de 18). Ver ms abajo una posible plantilla para el
programa. El
Fecha: <Fecha>
A.
B.
C.
D.
X.
MENU PRACTICA 9
================
Leer pelcula.
Buscar pelcula.
Introduzca Opcin:
Ejemplo:
Cine: Alameda
Da: Mircoles
Programacin I
Prctica Evaluable
E.T.S.I. TELECOMUNICACIN
Sala: 3
Sesin: 2
Calificacin: TP
Ejemplo:
Se proyecta en:
D.- Listar pelculas por edades. Lea desde teclado una cadena de caracteres
con una
calificacin por edades, y muestre la lista de las pelculas que con dicha
calificacin se
proyectan esta semana. Para cada una de stas deber mostrarse el ttulo
junto con la
programa.
Ejemplo:
Introduzca su opcion: x
#include <iostream>
#include <string>
#include <array>
//-------------------------------//
//---DECLARACIN DE CONSTANTES---//
//-------------------------------//
//-------------------------------//
//------DECLARACIN DE TIPOS-----//
//-------------------------------//
struct TpInfopeli{
calificaciones calificacion_edades;
cines nombre_cine;
}informacion;
struct TpFecha{
dias dia_semana;
}dia;
struct TpHorario{
salas numero_sala;
hora hora_sesion;
peliculas peli
}horario;
//--------------------------------//
//---DECLARACIN DE PROTOTIPOS----//
//--------------------------------//
//INSERTARPELICULA:
bool SalirDelPrograma(salir);
//-----------------------------//
//-----FUNCION PRINCIPAL-------//
//-----------------------------//
TpInfopeli informacion;
TpCines cartelera;
string protagonistas;
bool encontrado;
string nombre;
do{
switch (opcion){
InsertarPelicula(cartelera, informacion);
break;
case 1: VisualizarInformacion(cartelera);
break;
//
case 1: //VisualizarInformacion
//
if (encontrado){
LeerPelicula(informacion);
else{
break;
case 3: ListarPeliculas(informacion.pelicula);
break;
SalirDelPrograma(salir);
break;
}while(opcion != 5 );
return 0;
//-------------------------------------//
//-----IMPLEMENTACIN DE FUNCIONES-----//
//-------------------------------------//
//LeerPelicula
return informacion;
//InsertarPelicula
unsigned int i = 0;
if
(Buscar(cartelera,informacion.nombre_cine.pelicula.protagonistas.calificacio
n_edades) == -1){
i++;
if (i < MAX_CINES){
cartelera[i].informacion = info;
cartelera[i].ocupada = true;
//VisualizarInformacion
if (informacion[i].ocupada)
LeerPelicula(informacion[i].nombre_cine.pelicula.protagonistas.calificacion_e
dades);
//BuscarPelicula
unsigned int i = 0;
encontrado = false;
encontrado = true;
else
i++;
if (encontrado){
informacion = cartelera[i].informacion;
//ListarPeliculas
if (cartelera[i].ocupada)
EscribirPelicula(cartelera[i].informacion);
//Salir
bool SalirDelPrograma(salir){
if (salir = S){
salir = true;
**Precios
void ingresar_datos()
char sigue;
do{
system("cls");
if (a<z)
system("cls");
scanf("%i",&aerolinea[a].tiquete);
scanf("%i",&aerolinea[a].cedula);
printf("Nombre de pasajero:");
fflush(stdin);gets(aerolinea[a].nom
scanf("%i",&aerolinea[a].ao_nac);
printf("Dijite Ao actual:");
scanf("%i",&aerolinea[a].ao);
aerolinea[a].edad=aerolinea[a].ao-
if
strcpy(aerolinea[a].mensaje,"Eres un nino");
strcpy(aerolinea[a].mensaje,"adulto
else
do
printf("destino");
aerolinea[a].destino=getch();
system("cls");
printf("**Resultados**");
printf("\nEdad es :%i",aerolinea[a].edad);
a++;
do
sigue=getch();
else
printf("Vectores llenos....!");
sigue= 'N';
getch();
}while(toupper(sigue)=='S');
}
Juan M.
2013-07-09 02:21:28
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct Salon
char M[6];
char A[6];
char C[6];
float B[4];
};
int main()
int i,n;
vec V[i];
float Pa,s;
s=0;
scanf("%s",&V[i].M);
scanf("%s",&V[i].A);
scanf("%s",&V[i].C);
scanf("%f",&V[i].B);
s=s+V[i].B;
Pa=s/4;
system ("PAUSE");
return 0;
int i,n;
vec V[i];
...
scanf("%s",&V[i].M);
scanf("%s",&V[i].A);
scanf("%s",&V[i].C);
scanf("%f",&V[i].B);
s=s+V[i].B;
Los tres siguientes errores tienen que ver con el uso del operador & para
una cadena de caracteres. No debes usar tal operador; simplemente pasa el
array de 'char' a 'scanf()'. Esto es,
El siguiente error se debe a que lees un solo 'float', pero intentas pasar un
array de 'float' como parmetro a 'scanf()'. Esta funcin no lee arrays de
'float'. Por lo tanto, la solucin es leer cada uno explcitamente. Esto es,
Tambin puedes optar por usar un bucle 'for' para recorrer cada elemento
del array 'B'.
El ltimo error se basa en el uso del array, 'B', ya que C no ofrece una suma
de elementos en un array. Si quieres hacer esto, entonces necesitas ser
explcito; por ejemplo,
Steven
Juan Luis
2013-07-13 15:44:13
Este es:
#include <stdlib.h>
#include <stdio.h>
#define N 3
struct salon
char Nombre[10];
char Apellido[10];
char Cedula[10];
float Nota[4];
};
int main()
vec V[N];
float Sa,Sg,Se1,Se2,Se3,Se4,Pa,Pg,Pe1,Pe2,Pe3,Pe4;
int i,j,n;
Se1=0;
Se2=0;
Se3=0;
Se4=0;
Sg=0;
printf("\n");
fflush(stdin);
gets(V[i].Nombre);
fflush(stdin);
printf("\n");
fflush(stdin);
gets(V[i].Apellido);
fflush(stdin);
printf("\n");
fflush(stdin);
gets(V[i].Cedula);
fflush(stdin);
printf("\n");
Sa=0;
printf("\n");
scanf("%f",&V[i].Nota[j]);
printf("\n");
Sa=Sa+V[i].Nota[j];
Pa=Sa/4.0;
printf("\n");
printf("\n");
Se1=Se1+V[i].Nota[1];
Pe1=Se1/3;
Se2=Se2+V[i].Nota[2];
Pe2=Se2/3;
Se3=Se3+V[i].Nota[3];
Pe3=Se3/3;
Se4=Se4+V[i].Nota[4];
Pe4=Se4/3;
system ("PAUSE");
return 0;
}
josue reyes
2013-09-18 07:05:13
#include <stdio.h>
#include <conio2.h>
#define TAM 3
struct persona
char nombre[50];
char equipo[100];
int partidos;
int goles;
float promedio;
};
void main()
int i;
float auxf;
for(i=0;i<TAM;i++)
clrscr();
printf("FICHA DE JUGADOR\n\n");
printf("NOMBRE:");fflush(stdin);gets(jugadores[i].nombre);
printf("EQUIPO:");fflush(stdin);gets(jugadores[i].equipo);
printf("PARTIDOS:");scanf("%d",&jugadores[i].partidos);
printf("GOLES:");scanf("%d",&jugadores[i].goles);
for(i=0;i<TAM;i++)
getch();
}
Steven R. Davidson
2013-09-18 07:52:58
Hola Josu,
int main()
Por convenio, retornamos 0 (cero) para indicar una terminacin exitosa del
programa.
Steven
Ludwin
2013-10-02 04:12:35
siguiente problema.
1. Ingreso de Datos
a. Cursos.
b. Catedrticos.
c. Estudiantes
. Reportes
3. Salir
Evelin perez
2013-10-09 21:12:46
Hola Tatiana,
struct nodo
{
int dato;
nodo *pNodo;
};
El uso tpico es encadenar varios objetos (del mismo tipo) y as poder crear
una lista cuyas operaciones de insercin, agregado, y eliminacin son fciles
de realizar: una complejidad temporal de O(1). Tpicamente, estas listas
usan memoria dinmicamente adjudicada por lo que ofrecen una gran
flexibilidad. Por ejemplo,
nodo *pCabeza;
nodo *pAux;
pAux->pNodo = nullptr;
Otro uso tpico es para crear relaciones de parentesco entre objetos; o sea,
una relacin de "hijo-pariente". Por ejemplo,
struct ventana
{
ventana *apHijas[256];
unsigned char nCantHijas;
...
};
Steven
lenin tandalla
2013-11-21 19:17:51
3.- Salir
Estoy llevando una clase que utilizo programacin y no se nada con esta
pagina estoy aprendiendo lo basico.
David
2014-05-28 19:08:03
Esta pagina me resuelve muchas dudas y realmente es muy til, pero hay
una cosa que no entiendo. Cuando definimos el struct con varios
constructores en este capitulo:
struct complejo {
complejo() { real=0; imaginario = 0; }
complejo(double r, double i) { real=r; imaginario = i; }
complejo(double r) { real=r; imaginario = 0; }
double real;
double imaginario;
};
complejo c1(19.232);
complejo c2 = 1299.212;
int x = 10;
complejo c3 = x;
Gracias de antemano.
Salvador Pozo
2014-05-28 20:32:42
Hola, David:
> Cuando creas por ejemplo c1, se llama automticamente a todos los
constructores?
Suceden dos cosas. Primero, como los dos objetos a ambos lados del igual
deben ser del mismo tipo, se crea un objeto de la clase complejo a partir del
valor 1299.212, es decir, de nuevo usamos el tercer constructor.
Hasta pronto.
Steven R. Davidson
2014-05-28 21:11:38
Hola David,
complejo::complejo( double r );
complejo::complejo( double r );
Esto es igual a,
complejo::complejo( int );
complejo::complejo( double r );
Steven
Adri
2015-01-05 00:19:13
//Con constructor
struct A
{
int a;
A(){a = 7;};
};
//Sin constructor
struct A{int a = 7;};
Hola Adri,
struct A
{
int a;
char b, c;
float f;
A()
{
a = 7;
b = c = '#';
f = -1.0f;
}
};
A obj; // No cambia
A st = { 7, '#', '#', -1.0f };