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