14/02/2008, 16:37
|
| | | Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 11 meses Puntos: 24 | |
Re: Pasar estructuras por referencia Para C, el prototipo lo tienes bien, es decir el parámetro es la direccion de la estructura (o lo que es lo mismo un puntero a estructura).
Lo que tienes mal es la llamada, que no se ajusta al prototipo.
En lugar de: LeerFecha(Date); /* Aqui pasas la estructura por valor copiandola entera en la pila */
Debes usar: LeerFecha(&Date); /* Aqui en la pila solo se copia la direccion de memoria en que está ubicada la esctructura */
Luego en la propia funcion, cuando quieres acceder a los datos de la estructura, debes tener en cuenta que lo que tienes es un puntero a estructura, por lo que no debes utilizar el operador punto sino el operador flecha.
----
Luego en C++ hay otra forma de pasar referencias, pero mejor no comentarlo ahora para no acabar de liar el asunto. |