[C con Clase] Problemas con un array

d1cor cordobadie en gmail.com
Jue Oct 16 16:49:04 CEST 2014


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
----------------------------------------------------------------------




Más información sobre la lista de distribución Cconclase