Hola,
Tengo una duda sobre la que no he encontrado respuesta en la documentación, y me extrańa porque es algo que normalmente se hace... Así que creo que es que no he buscado bien.
Tengo definido un array
Private
Int myArray[3] = 1, 2, 3, 4;
...
Begin
myArray= 6, 7, 8, 9;
End
¿Cómo vuelvo a asignarle valores al Array en un mismo paso?. He probado poniéndole los corchetes, sin ellos, etc... Pero nada. La solución que he encontrado es asignarle uno a uno los valores para cada posición, pero creo que debe poderse asignar todos los valores a la vez como cuando se declara...
A ver si alguien me saca de duda, gracias... :)
no se puede.
Quote from: SplinterGU on December 01, 2012, 04:13:35 PM
no se puede.
Gracias por la respuesta, SplinterGU.
Aprovecho para preguntarte. Implementar funciones como el count(de un Array), o este tipo de asignaciones que vendrían bien, es cosa que está en mente meter o es por definición del lenguaje y no se va a hacer?
Gracias :)
count?
sizeof(array)?
sizeof(array)/sizeof(array[0])?
Normalmente, lo que nos interesa saber de un array para realizar bucles (al menos en mi caso) es cuántos elementos tiene, no lo que ocupa en memoria.
Hay que hacer lo que dices, sizeof(array)/sizeof(array[0]) para saberlo.
Yo preguntaba por algún alias o función que hiciera lo mismo pero con mayor claridad de cara al código resultante, como el count() de PHP. Era sólo una pregunta.
Lo de reasignar valores a un array ya con datos sí que me vendría también bien, pero bueno, ya tengo una función que hace lo mismo, así que sin mayor problemas.
Gracias!
con sizeof(array) obtienes lo que ocupa el array en memoria, con sizeof(array[0]) obtienes lo que ocupa cada elemento del array .. y dividiendo el anterior entre este ultimo obtienes el numero de elementos que tiene el array :)
SpeedXP,
#define count(array) (sizeof(array)/sizeof((array)[0]))