63. C++ || Estructuras parámetros de funciones
Siempre debemos tener presente que una estructura es un nuevo tipo de dato definido por el usuario. Entonces se convierte en otro tipo de dato.
C++ nos permite pasar datos bien sea por valor o por referencia. Lo mismo pasa con las estructuras, y no es coincidencia que se haga de la misma manera que hemos hecho siempre. Por ejemplo:
#include <iostream>
using namespace std;
struct Persona{
char nombre[20],apellido[20];
int edad;
float salario;
};
void estructuraValor(Persona);
void estructuraReferencia(Persona&);
void mostrarEstructura(Persona);
int main(){
Persona humano = { "Steven","Rojas",19,1000 };
estructuraValor(humano);
mostrarEstructura(humano);
estructuraReferencia(humano);
mostrarEstructura(humano);
return 0;
}
void estructuraValor(Persona humano){
cout << "Nombre: ";
cin.getline(humano.nombre,20);
cout << "Apellido: ";
cin.getline(humano.apellido,20);
cout << "Edad: "; cin >> humano.edad;
cout << "Salario: "; cin >> humano.salario;
}
void estructuraReferencia(Persona& humano){
cin.ignore();
cout << "Nombre: ";
cin.getline(humano.nombre,20);
cout << "Apellido: ";
cin.getline(humano.apellido,20);
cout << "Edad: "; cin >> humano.edad;
cout << "Salario: "; cin >> humano.salario;
}
void mostrarEstructura(Persona humano){
cout << "Mi nombre es: " << humano.nombre;
cout << "\nMi apellido es: " << humano.apellido;
cout << "\nEdad: " << humano.edad;
cout << "\nSalario: " << humano.salario;
cout << endl;
}Noten que ocurre lo mismo que hubiese sucedido con cualquier otro tipo de dato estándar C++, lo que se pasó por valor no se modificó, y lo que se pasó por referencia sí lo hizo. De esta manera, pasamos las estructuras como parámetros como siempre lo hemos hecho.

Publica un comentario