Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Pasar estructura como parametro de función en C

Estas en el tema de Pasar estructura como parametro de función en C en el foro de C/C++ en Foros del Web. Hola, Hice un array de estructuras y quiero pasar toda la estructura como parametro de una función que me debe devolver un entero. La función ...
  #1 (permalink)  
Antiguo 14/10/2008, 18:15
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Pasar estructura como parametro de función en C

Hola,
Hice un array de estructuras y quiero pasar toda la estructura como parametro de una función que me debe devolver un entero. La función tiene que buscar un código dentro de la estructura. Hice esto: (no anda)


Código:
#include<conio.h>
#include<stdio.h>
struct destinos{
       int codDes;
       };

int busqueda(struct destinos,int,int);

void main(){

struct destinos dest[300];
int i;
i=20;
// la variable i es el tamaño de la estructura

pos = busqueda(dest,2,i);

}




int busqueda(struct destinos,int codDes,int i){

struct destinos dest;

int j, pos;

for(j=0;j<i;j++){
   
if(codDes == dest[j].codDes){

pos = j;  
             
}
    
}

return pos;

}
Gracias.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #2 (permalink)  
Antiguo 15/10/2008, 02:27
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Pasar estructura como parametro de función en C

Pasala como puntero (y es probable que quieras terminar el bucle cuando encuentres una coincidencia en busqueda).

Código:
typedef struct _destinos
{
  int codDes;
} destinos;

int busqueda(destinos*, int, int);

void main()
{
  destinos dest[300];
  pos = busqueda(&dest[0], 2, sizeof(dest) / sizeof(dest[0]));
}
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 15/10/2008 a las 02:38
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.