Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

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

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Que es una matriz estatica y una dinamica?

Autor:Enrique (1 intervención)
Fecha: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.
Responder
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Que es una matriz estatica y una dinamica?

Autor:leo (1 intervención)
Fecha: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
Comentar