• Lunes 29 de Abril de 2024, 06:30

Autor Tema:  Array Bidimensional Como Parámetro  (Leído 3219 veces)

Dunadan

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Array Bidimensional Como Parámetro
« en: Viernes 15 de Julio de 2005, 19:11 »
0
Buenas, mi problema es el siguiente, cuando defino el prototipo de una función que tome como parámetro un array con 2 dimensiones (aunque supongo que con más dimensiones pasa lo mismo)¿debo inicializarlo si o si en ese momento? Ya que intente de dejarlo vacío pero me da un error diciendo que el valor es desconocido o cero. Si lo inicializo no hay problema, pero no me sirve inicializarlo en ese momento.  Espero haber sido claro y gracias de antemano.

Saludos.
"Desde antaño se dice que el espíritu que al demonio se ha vendido no se apresura en dejar la envoltura de la carne, sino que alimenta y enseña al mismo gusano que roe, hasta que desde la corrupción emerge una vida terrible, y las criaturas que con carroña de la tierra se alimentan se multiplican a escondidas para hostigarla, y se hacen monstruosas para infestarlas.  En secreto son excavadas interminables galerías donde debían bastar los poros de la tierra, y unas criaturas que sólo debían arrastrarse han aprendido a caminar"

[size=109]H.P. Lovecraft "El Ceremonial"[/size]

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Array Bidimensional Como Parámetro
« Respuesta #1 en: Viernes 15 de Julio de 2005, 21:36 »
0
Hola que tal.

Me imagino que con eso de inicializarlo te refieres a definir el tamaño que tendra, si es eso, debes definir el tamaño para la segunda dimension y las siguientes, para la primera no es necesario que lo hagas, espero esto te ayude.

Hasta luego.

Dunadan

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Array Bidimensional Como Parámetro
« Respuesta #2 en: Sábado 16 de Julio de 2005, 03:44 »
0
Gracias fuhrer por la pronta respuesta; el código que yo leí como ejemplo en el prototipo no ponía nada como argumento en ninguna dimensión de la matriz, sino que después al final cuando va a escribir el cuerpo de la función(su declaración creo que es) hace lo que vos dijiste, de pasar como argumento sólo la segunda dimensión, para que el compilador sepa cuantos elementos tiene cada fila. Una pregunta de paso, cuando son más dimensiones ¿se declaran todas menos la primera?

Saludos.

Agregado: Para no hacer otro post quiero plantear algo a ver si me lo explican, es referente a los argumentos que acepta la función main, argc es la cantidad de parámetros,argv es un array de cadenas de caracteres que es lo que se ingresa cuando se llama al programa desde el S.O., pero lo que me queda inconcluso es el argumento Arge, que según la poca explicación que daba de donde leí, dice que es igual al argv, o sea un array de cadena de caracteres, pero que contiene las cadenas del entorno.  A que se refiere con esto último? Espero no molestarlos mucho, gracias.
"Desde antaño se dice que el espíritu que al demonio se ha vendido no se apresura en dejar la envoltura de la carne, sino que alimenta y enseña al mismo gusano que roe, hasta que desde la corrupción emerge una vida terrible, y las criaturas que con carroña de la tierra se alimentan se multiplican a escondidas para hostigarla, y se hacen monstruosas para infestarlas.  En secreto son excavadas interminables galerías donde debían bastar los poros de la tierra, y unas criaturas que sólo debían arrastrarse han aprendido a caminar"

[size=109]H.P. Lovecraft "El Ceremonial"[/size]

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Array Bidimensional Como Parámetro
« Respuesta #3 en: Viernes 29 de Julio de 2005, 12:05 »
0
Hola:

arge es un array de cadenas con las variables de entorno, terminado en NULL. Ahi tienes cosas como

"PATH=C:\ ... "
"HOME=C:\Documents... "
etc, etc.

Para leerlas, debes hacer un bucle como este

int i=0;
while (arge!=NULL)
{
...
i++;
}

Se bueno.

hidaki

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Array Bidimensional Como Parámetro
« Respuesta #4 en: Viernes 19 de Agosto de 2005, 09:51 »
0
Dunadan!, no sé por que parte de la programación andarás Vos, pero si estás empezando, vas por el camino correcto del aprendizaje, si indagás un poco más, solo podrás contestar la pregunta que has echo de arreglos multidimensionales.
Te recomiendo que leas unos textos sobre punteros en C, echale una mirada al siguiente enlace:

http://pweb.netcom.com/~tjensen/ptr/pointers.htm

 Son de un Tío, que escribio/recopilo info al respecto, están buenísimos, imperdibles, despeja todas las dudas a los que se las tengan que ver con punteros, el problema es que están en Inglés, no encontré una versión en Español.
 La verdad valdría la pena traducir eso y hacerlo llegar a su creador (Él sugiere eso), y de nuevo, que lo lean TODOS los que andan dando vueltas por estos foros, perdidos con los punteros...
 Para completarla mirá:
http://www.brigsoft.com/edu/LovelyPointers...elyPointers.htm
en su sección:  "4. Pointers and arrays"
lo se siempre, una imagen vale por mil palabras.

 Un consejo, si lo tuyo es sacar adelante un programa colmado de llamadas a funciones cuyos parámetros son arreglos multidimensionales, lo que has propuesto, no es la mejor estrategia, lo que se emplea son punteros a punteros, o punteros a estructuras, pues se emplea dimensionamiento dinámico de los array's, así funkan las librerias picantes, p.e. las GNU-GSL, echale una mirada a su manual de referencia en la sección matrices (y vectores), y operaciones con estas entidades.
     Bye!!    ***Hidaki