Hola que tal, nuevamente recurriendo a los experimentados jej. Bueno resulta que busque en:
http://wiki.bennugd.org/index.php
Alguna funcion que diga el tope de un Array... es decir, si declaro un array de 5 posiciones, que me diga con una funcion (pasando el array) , que el tope es 5.. lo aclaro bien por las dudas porque a veces puedo no explicarme bien.
Bueno espero sus solidarias ayudas, muchas gracias desde ya!!
cantidad totales:
sizeof(array)/sizeof(array[0])
ultimo indice
sizeof(array)/sizeof(array[0]) - 1
Quote from: SplinterGU on August 24, 2012, 11:56:52 PM
cantidad totales:
sizeof(array)/sizeof(array[0])
ultimo indice
sizeof(array)/sizeof(array[0]) - 1
Gracias Splinter, veo que habia que rebuscarsela como tal hiciste. Te agradezco por la solucion.
Saludos y gracias comunidad.
Estoy haciendo una funcion, donde se pasa de Parametro un array de tipo Char, para luego formar una Cadena String, y devolverla. Pero me tira el error: Not an array or struct array( token error: "[") en linea 121. Dejo la funcion:
function BuildString(char chrArray);
private
int i;
string strFullString;
int tope;
BEGIN
tope=sizeof(chrArray)/sizeof(chrArray[0]); //ESTA ES LA LINEA 121
for(i=0;i<=tope;i++)
strFullString=strFullString + chrArray;
end
return strFullString;
END
Quote from: SplinterGU on August 24, 2012, 11:56:52 PM
cantidad totales:
sizeof(array)/sizeof(array[0])
OSTIAS!!! no se me habia ocurrido eso para saber el tamaño de un array xDDDDDDDDD y yo liandola parda para hacerlo jajajaja joer tengo mucho q aprender jajajajaja
Igual anda mal, Splinter me dijo que sizeof(chrArray)/sizeof(chrArray[0]), daria el numero de elementos del array, y chrArray en mi caso tiene 6 Elementos.
Estara mal la formula?
Quote from: Milton884 on August 25, 2012, 12:15:42 AM
Estoy haciendo una funcion, donde se pasa de Parametro un array de tipo Char, para luego formar una Cadena String, y devolverla. Pero me tira el error: Not an array or struct array( token error: "[") en linea 121. Dejo la funcion:
function BuildString(char chrArray);
private
int i;
string strFullString;
int tope;
BEGIN
tope=sizeof(chrArray)/sizeof(chrArray[0]); //ESTA ES LA LINEA 121
for(i=0;i<=tope;i++)
strFullString=strFullString + chrArray;
end
return strFullString;
END
es que esto que se pasa por parametro
function BuildString(char chrArray);
no es un array
1) le estas pasando un char (1 byte), no un array
2) no se pueden pasar arrays por parametro, cuando lo haces se pasan (automaticamente) como punteros
Quote from: Milton884 on August 25, 2012, 02:06:12 AM
Igual anda mal, Splinter me dijo que sizeof(chrArray)/sizeof(chrArray[0]), daria el numero de elementos del array, y chrArray en mi caso tiene 6 Elementos.
Estara mal la formula?
la formula esta bien, lo que esta mal es usarlo con un supuesto array pasado por parametro, no se pueden pasar arrays por parametros, por lo menos no como arrays, sino como punteros, y ahi dejan de ser arrays.
entonces no hay forma de pasar un Array por parametro?¿ Pq en mi caso es algo que realmente necesito hacer. Asi si lo puedo pasar:
function string BuildString(char pointer chrArray);
Poniendo pointer , asi se pasa. pero como decis vos como puntero...