[C con Clase] Problemas con un array
Samuel Díaz García
samueldg en arcoscom.com
Jue Oct 16 19:04:01 CEST 2014
Si es C++ busca información sobre el template array o alguno de esos, te
pueden a ayudar a que sea un array dinámico en tiempo de ejecución sin
necesidad de quebrarte.
Ahora bien, las alternativas estándares como malloc, alloc, etc....
siempre han funcionado, funcionan y seguirán funcionando muy bien.
Salu2
El 16/10/14 16:49, d1cor escribió:
> On Thu, 16 Oct 2014 15:31:28 +0200
> marcelinux <marcelinator en gmail.com> wrote:
>
>> j> >
>> j> > float a;
>> j> > float b;
>> j> >
>> j> > float c[a][b];
>> j> >
>> j> > al compilar el código me sale el siguiente error: [Error] size of array
>> j> > 'c' has non-integral type 'float'
>> j> >
>>
>> Además, a y b tienen que se constantes.
>> Mira: http://c.conclase.net/curso/index.php?cap=010#inicio
>> Donde dice: Otro detalle muy importante es que cuando se declaran arrays, los valores para el número de elementos deben ser siempre
>> constantes enteras. Nunca se puede usar una variable para definir el tamaño de un array.
>
> Lo dicho, agrego como dato adicional que los arreglos, como las variables, de definen en tiempo de compilación, y es por ello que ya deben poseer dimensiones fijas.
>
> Si lo que estás necesitando es que el arreglo sea definido en tiempo de ejecución, por ejemplo, para que sus dimensiones sean ingresadas por el usuario durante la ejecución del proceso, no podés utilizar arreglos, deberías utilizar asignación dinámica de memoria (malloc, calloc, realloc, free) y utilizar punteros de un determinado tipo dependiendo de tus necesidades, con el fin de poder moverte, mediante aritmética de punteros, por tu región reservada dinámicamente.
>
> Espero que sume.
> Slds a todos!
>
> ----------------------------------------------------------------------
> Ing. Diego Cordoba
> GNU/Linux Instructor & Consultant
> CLA Carrera Linux Argentina
> LPI Linux Certified Professional
> www.carreralinux.com.ar - www.diegocordoba.tk
> ----------------------------------------------------------------------
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
Samuel Díaz García
ArcosCom Wireless, S.L.U.
CIF: B11828068
Plaza de las Aguas, 2
11630 - Arcos de la Frontera
Cadiz
http://www.facebook.com/ArcosComWireless
mailto:samueldg en arcoscom.com
Móvil: 678 17 66 12
Tlfn.: 956 70 13 15
Más información sobre la lista de distribución Cconclase