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

Pasar array de struct a funcion en C

Estas en el tema de Pasar array de struct a funcion en C en el foro de C/C++ en Foros del Web. Hola Tengo la siguiente estructura Esto lo he situado debajo de las lineas de include @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original struct Alumnos {   ...
  #1 (permalink)  
Antiguo 18/04/2010, 23:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 9 meses
Puntos: 2
Pregunta Pasar array de struct a funcion en C

Hola

Tengo la siguiente estructura
Esto lo he situado debajo de las lineas de include
Código C:
Ver original
  1. struct Alumnos{
  2.  char nombre[40];
  3.  float notas[3];
  4.  int edad;
  5. };
  6. Alumnos *curso[3];

Luego creo los prototipos de las funciones
Código C:
Ver original
  1. char getNombreNotaMasBaja(Alumnos* curso[]);

Luego en el Main invoco a esta funcion y es aqui donde tengo el problema
Código C:
Ver original
  1. char nombreAlumno[40];
  2.  
  3. nombreAlumno = getNombreNotaMasBaja( &curso[] );
  4. printf("Alumno %s", nombreAlumno);

Fuera del main, implementacion de la funcion.
Código C:
Ver original
  1. char getNombreNotaMasBaja(Alumnos* estudiantes[]){
  2. }

Me arroja error en la linea donde invoco a la funcion en el main, por ende queria consultarles como se pasa ese tipo de estructura a funciones en C.

Saludos
  #2 (permalink)  
Antiguo 19/04/2010, 04:28
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 11 meses
Puntos: 61
Respuesta: Pasar array de struct a funcion en C

Deberias invocar asi:

Código C:
Ver original
  1. nombreAlumno = getNombreNotaMasBaja( curso );

pero tendras un problema si es que "nombreAlumno" resulta ser un arreglo de caracteres mientras la funcion, en el prototipo, dice que retornara' solo 1 caracter

Etiquetas: funcion, pasar
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 00:49.