Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: HenBanKeN on June 13, 2011, 06:52:11 AM

Title: Ayuda con Arrays
Post by: HenBanKeN on June 13, 2011, 06:52:11 AM
He buscado en tutoriales y manuales al respecto, y no he encontrado respuesta.

Tengo un array global, y quiero pasárselo de argumento a un proceso.
En la definición de ese proceso, cómo debería escribir los argumentos para que el proceso pueda recibir un array?

He intentado con:

PROCESS proceso(byte algo[])

Pero me dice que el nombre del parámetro es inválido.
He probado quitando los corchetes, y en definitiva dentro del proceso me es imposible trabajar con el arreglo porque dice que simplemente "no es un arreglo o estructura".

Se pueden realmente pasar arrays como argumento? Como se hace?
Title: Re: Ayuda con Arrays
Post by: Yawin on June 13, 2011, 06:57:20 AM
verás, si la array es global, no necesitas pasarla como argumento, porque todos los procesos pueden acceder a ella. Aun así, si quieres apsarla, nunca lo he hecho en Bennu, pero en C creo que lo que enviabas había que recibirlo en un puntero.
Title: Re: Ayuda con Arrays
Post by: HenBanKeN on June 13, 2011, 07:02:28 AM
Bueno, es que necesito pasarla porque el proceso debe recibir una, de seis posibles variables globales, siendo todos arrays.

Punteros =O puede ser una alternativa... Trataré de recordar lo que he aprendido sobre C

gracias xD karma por la idea!
Title: Re: Ayuda con Arrays
Post by: Yawin on June 13, 2011, 07:09:27 AM
A ver que me entere yo, tienes 6 arrays declaradas en el global y tienes que decirle a un proceso cual tiene que mirar??

Pues muy facil, pasale un valor entre 1 y 6, y haz un switch que sea:
switch(variable):
  case 1:
      array1[];
  end
  case 2:
      array2[];
  end
  case 3:
      array3[];
  end
  case 4:
      array4[];
  end
  case 5:
      array5[];
  end
  case 6:
      array6[];
  end
end

____________________________________________

Edit:
O sino, haz una array de arrays. Es decir:
int array[5][10];
Así, puedes hacer que array[0] sea una, array[1] sea otra, y así sucesivamente.
Title: Re: Ayuda con Arrays
Post by: osk on June 13, 2011, 09:07:36 AM
En mi manualillo está explicado...ahora no lo tengo a mano, pero está explicado
Title: Re: Ayuda con Arrays
Post by: SplinterGU on June 13, 2011, 03:57:19 PM
los arrays se pasan como punteros automaticamente, solo debes declarar que la funcion recibe un puntero.
Title: Re: Ayuda con Arrays
Post by: HenBanKeN on June 14, 2011, 01:36:59 PM
Muchas gracias, Osk, y Splinter.

Osk, busqué en tu manual pero creo que no fue lo suficiente. (aunque debo decirte que me ha servido de gran ayuda ese manual)

De todas formas, al final usé punteros y no hubo ningún problema. Ahora me queda claro cómo enfrentarme a estos casos desde ahora =) muchas gracias!