Pages: [1]   Go Down
Author Topic: array de punteros a arrays  (Read 1462 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 200
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas.

Supongamos que tengo:
-int array[10]
-funcion(array)

Supongamos que quiero hacer un bucle que ejecute funcion(array) sobre un array distinto en cada ciclo.

He pensado que la solución sería hacer otro array que contenga las direcciones de los arrays a utilizar, y luego pasar a funcion(array) las posiciones de este nuevo array.

¿se haría así? ¿como declaro el nuevo array?

gracias
Logged

*
Offline Offline
Sr. Member
****
Karma: 0
Posts: 470
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aunque mi c no anda muy bien, por lo que no sé si me equivoco (corregidme), o te creas un array de dos dimensiones en el que todas las filas tienen la misma longitud: int datos[fila][columna], o un array de punteros con la ventaja sobre el anterior de que las filas pueden ser de distinta longitud: int * datos[ x ]; y en el while(condición) haces función( * datos ++); Declarando la función como función(int array [ ]); cada elemento de datos debe contener la dirección del primer elemento del array correspondiente.

« Last Edit: May 23, 2012, 06:07:54 pm by JMN » Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aquí tienes un ejemplo:
http://arduino.cc/forum/index.php/topic,107077.0.html
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Full Member
***
Karma: 0
Posts: 200
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A ver...

Supongamos que tengo 10 arrays del estilo:

int miarray0[20];
int miarray1[20];
int miarray2[20];
...
int miarray9[20];

Creo un array de punteros de la siguiente manera:

int * contenedor[10];          
contenedor[0] = miarray0
...
contenedor[9] = miarray9

lanzo la función dentro de un bucle.
funcion() admite un array de enteros

funcion(contenedor[var])


¿es más o menos eso?
« Last Edit: May 24, 2012, 12:57:43 pm by Jose Francisco » Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Lo has probado?
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Full Member
***
Karma: 0
Posts: 200
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No, en este pc no puedo probarlo.
Preguntaba si es esa la estrategia.

Un saludo.
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Puede que si, pero me parece que falta algo, una vez pruebes a compilarlo lo sabremos
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Por qué quieres pasar como parámetro el array completo? Es un desperdicio de memoria.

Si hay que pasar un array a una función, pásale el puntero al array.
Logged

Pages: [1]   Go Up
Jump to: