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?
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.
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!
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.
En mi manualillo está explicado...ahora no lo tengo a mano, pero está explicado
los arrays se pasan como punteros automaticamente, solo debes declarar que la funcion recibe un puntero.
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!