Funcion y puntero

Iniciado por gonzalo_C, 8 Febrero 2012, 22:40 PM

0 Miembros y 1 Visitante están viendo este tema.

gonzalo_C

Hola,

Llevo unos dias intentado resolver este pequeño problema, y he decidido postear aqui a ver si podeis ayudarme.

Tengo esta funcion:

BOOL buscarElementoEnObjeto(const ELEMENTO *elem, const OBJETO *obj)

Tiene como parametros un puntero a elem (que es un entero), y un puntero a una estructura que se llama OBJETO:

typedef struct {
   ELEMENTO elem;
   unsigned int repes;
} OBJETO;

lo que hace es eterminar si un elemento se encuentra en un objeto.


Vale, luego en otro lado tengo:

int buscarObjetoEnMulticnj(const ELEMENTO *e, const MULTICNJ *mc)

que tiene como argumentos un puntero a un elemento (un entero) y un muntero a la estructura MULTICNJ:

typedef struct {
   OBJETO OBJETOS[MAX_OBJS];  
   unsigned int n_objs, card;
} MULTICNJ;


lo que hace es buscar un elemento en un multiconjunto y devuelve el indide del array donde se encuentra o -1 si no se encuentra.

Mi duda es la siguiente:

Si quiero acceder a la primera funcion desde la segunda como debo de hacerlo, ya que he de meter la direccion de un array de objeto, yo he intentado:

buscarElementoEnObjeto(e, mc.OBJETOS[i])


donde i es un entero, pero no he conseguido hacerlo funcionar.

como he de meter la direccion de OBJETOS en la funcion?


Gracias.

eleon

#1
Difícilmente se va a comprender qué hace el código si no pones un trozo completo donde se puedan ver las instrucciones; entre "ELEMENTO", "elemento", "elem", "OBJETO", "OBJETOS" y "objeto" te mareas después de leer dos líneas.

CitarSi quiero acceder a la primera funcion desde la segunda como debo de hacerlo, ya que he de meter la direccion de un array de objeto, yo he intentado:

buscarElementoEnObjeto(e, mc.OBJETOS[i])


donde i es un entero, pero no he conseguido hacerlo funcionar.

Todas las direcciones se devuelven con el operador Address-Of: &

Si quieres mandar la dirección de un elemento de un array que está dentro de una estructura debes poner: "&objeto.array [ i ]".

Saludos.

gonzalo_C

Gracias, era ese el problema, que tenia que poner:
&(mc.OBJETOS