Dev - C++ - Que es una matriz estatica y una dinamica?

 
Vista:

Que es una matriz estatica y una dinamica?

Publicado por Enrique (1 intervención) el 27/09/2007 06:30:08
Hola, quisiera que me explicaran la diferencia entre estas matricesy cual me conviene usar para hacer un jugo de gato en dev-c. De antemano gracias por leer esto y nos vemos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que es una matriz estatica y una dinamica?

Publicado por leo (1 intervención) el 02/10/2007 03:23:48
Vector estático, el compilador le reserva espacio de memoria en tiempo de compilación, y libera la memoria automáticamente al terminar el programa

int array[10]

Vector dinámico, el compilador no le reserva memoria, tu debes hacerlo y además tu debes liberarla antes de terminar el programa. Además puedes cambiarle el espacio reservado, por eso el "dinamica"

int * array;
array = (int*) malloc (sizeof(int) * 10); /*reserva lugar para diez enteros, sizeof = tamaño de*/
array[0] = 1; // ejemplo
array = (int*) realloc (array,sizeof(int)*20); /*agrando el espacio para 20 enteros*/
array = (int*) realloc (array,sizeof(int)*8); /*lo achico para 8 enteros */
free(array); /*libero la memoria*/

Observa que en el estático no hay forma de agrandar o achicar espacio reservado

Una matriz es analogo
Estatica
int array [10][10]
Dinamica

int * * array;
array = (int**)malloc (sizeof(int*) * 10) /*reservo lugar para 10 vectores*/
/*ahora a cada vector le pongo lugar para 10 enteros*/
int i = 0;
while ( i < 10 )
{
array[i] = (int *) malloc (sizeof(int) * 10);
i++;
}
Bueno, espero te ayude. Tu elijes cual usas, si necesitas cambiar el espacio reservado..dinamico.
LeO FaMAF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar