Dev - C++ - Como paso 2 estructuras globales a una funcion?

 
Vista:
sin imagen de perfil
Val: 33
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Como paso 2 estructuras globales a una funcion?

Publicado por Jorge (24 intervenciones) el 25/04/2020 02:30:14
Bueno no se que sintaxis usar para el prototipo de la funcion que va a recibir 2 estructuras del mismo tipo pero con diferentes nombres, la funcion va a copiar lo que hay en la esctructura 1 en la 2 y ambas son globales (las structuras que se declaran en el main si las se hacer)

Segun yo es algo asi pero no compila


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct E1{
	int a=5;
	int b=2;
	}E2,E3;
 
void cambiar(E1 E2 E3);
main()
{
 
cambiar();
printf("%d \t %d",E2.a,E3.a);
}
 
void cambiar(E1 E2,E3)
{
	E2.a=E3.a;
	E3.b=E2.b;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Como paso 2 estructuras globales a una funcion?

Publicado por Alfil (1444 intervenciones) el 25/04/2020 10:54:04
E2 y E3 son variables globales y no necesitan ser pasadas como parámetro; si no fueran globales, para pasarlas como parámetro la función sería:

1
void cambiar(E1& E2, E1& E3)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
 
struct E1
{
	int a = 5;
	int b = 2;
 
}E2, E3;
 
 
void cambiar();
 
int main()
{
    cambiar();
 
    printf("%d \t %d", E2.a, E3.a);
 
    return 0;
}
 
void cambiar()
{
	E2.a = E3.a;
	E3.b = E2.b;
}

Tal como está ahora mismo, la función cambiar no tiene mucho sentido, porque tanto en E2 como en E3 a = 5 desde el principio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar