• Sábado 9 de Noviembre de 2024, 03:35

Autor Tema:  Estructura y paso por valor en lenguaje C.  (Leído 2238 veces)

DanielC#

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: ar
    • Ver Perfil
Estructura y paso por valor en lenguaje C.
« en: Sábado 21 de Septiembre de 2013, 21:11 »
0
Hola a todos.
El caso es que estoy haciendo una agenda, en especial para aprender estructuras en C, créanme que hace 1 día que estoy renegando con el manual, el amigo Google y mucho picar código pero no lo logro.-
Lo que quiero es poner el ingreso de datos en una función como escribir_datos pero no hay caso.-

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

typedef struct
{
    int orden;
    char nombre[30];
}agenda;

void escribir_datos(agenda param)
{
    printf("\n Orden....:%d", param.orden);
    printf("\n Nombre...:%s", param.nombre);
}
   
int main()
{
    agenda datos;
   
    datos.orden = 1;
    strcpy(datos.nombre, "Daniel");
   
    escribir_datos(datos);
   
   
    printf("\n\n Pulse una tecla para cerrar la aplicacion..."); system("PAUSE>NULL");
    return 0;
}

Windows Xp, Borland C++ 5.5, lenguaje C. (autodidacta de 61 años)

Bueno es todo.-
Un gran saludo.
Daniel (espero encontrar amigos, no profesores)
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-

herzdark

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: ar
    • Ver Perfil
Re:Estructura y paso por valor en lenguaje C.
« Respuesta #1 en: Domingo 22 de Septiembre de 2013, 00:39 »
0
si que lo queres hacer es ingresar los datos dentro de la funcion lo que podes hacer es que devuelva una copia de una estruc agenda
Código: C
  1. agenda ingresar_datos()
  2. {agenda obj;
  3.  obj.orden = 1;
  4.  strcpy(obj.nombre, "Daniel");
  5.  return obj;
  6. }
  7.  

como ves estoy creando una estruct obj dentro de la funcion para guardar la info que se ingrese, si vos no devolvieras esa estrc la informacion se pierde por la vida util de una variable y entro del main lo usarías así:

Código: C
  1. int main()
  2. {
  3.     agenda datos;
  4.    
  5.     datos=ingresar_datos();
  6.     escribir_datos(datos);
  7.    
  8.    
  9.     printf("\n\n Pulse una tecla para cerrar la aplicacion..."); system("PAUSE>NULL");
  10.     return 0;
  11. }
  12.  

espero que hallas entendido, suerte con el aprendizaje

DanielC#

  • Miembro activo
  • **
  • Mensajes: 39
  • Nacionalidad: ar
    • Ver Perfil
Re:Estructura y paso por valor en lenguaje C.
« Respuesta #2 en: Domingo 22 de Septiembre de 2013, 03:41 »
0
Hola herzdark.
Gracias, me servirá para aprender a pasar las estructuras por valor ya que acabo de lograr el paso por referencia o puntero.-

Citar
espero que hallas entendido, suerte con el aprendizaje
:gracias:

Saludos y hasta la proxima.-
Daniel
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-