elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema redimensionando array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema redimensionando array  (Leído 1,909 veces)
snake_linux

Desconectado Desconectado

Mensajes: 70


Ver Perfil
Problema redimensionando array
« en: 25 Agosto 2015, 18:52 pm »

Bueno gracias a vuestra ayuda, he conseguido entender los arrays dinámicos, el caso es que he intentado crear un ejemplo de una matriz dinámica y redimensionarla.

La he redimensionado y funciona perfectamente, pero al redimensionarla, los 3 nuevos índices, cada subindices(punteros dentro de punteros), he hecho que sean de 30 elementos y no de 80, por lo que al referirme al elemento 35 me debería dar error, y no es así, funciona perfectamente,

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void main() {
  5.  
  6. int **p;
  7. p=(int **)malloc(sizeof(int *)*5);
  8. int x;
  9. for(x=0;x<5;x++){
  10.  
  11. p[x]=(int *)malloc(sizeof(int)*80);
  12.  
  13. }
  14.  
  15. p[3][45]=10;
  16. printf("El numero guardado es %d\n", p[3][45]);
  17.  
  18. p=(int **)realloc(p, sizeof(int *)*8);
  19. int y;
  20. for(y=5; y<8; y++){
  21.  
  22. p[y]=(int *)malloc(sizeof(int)*30);
  23.  
  24. }
  25. p[6][35]=25;
  26. printf("Después de redimensionar %d\n", p[6][35]);
  27.  
  28. free(p);
  29.  
  30. }

¿ Por que no da error? ¿he redimensionado mal la matriz?:

Gracias de antemano, saludos.


« Última modificación: 25 Agosto 2015, 20:05 pm por snake_linux » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Problema redimensionando array
« Respuesta #1 en: 25 Agosto 2015, 19:17 pm »

La memoria puede o no ser del programa. Si accedes a memoria del programa, no dará error. Si accedes a memoria a la que tu programa no puede acceder, puede dar error. No es fijo. Depende de las circunstancias.


En línea

snake_linux

Desconectado Desconectado

Mensajes: 70


Ver Perfil
Re: Problema redimensionando array
« Respuesta #2 en: 25 Agosto 2015, 19:24 pm »

La memoria puede o no ser del programa. Si accedes a memoria del programa, no dará error. Si accedes a memoria a la que tu programa no puede acceder, puede dar error. No es fijo. Depende de las circunstancias.

Entonces, para que sirve redimensionar la matriz, ¿ para reservale una cantidad de memoria que solo va a usar la matriz y que así no hayan fallos ?

Gracias y saludos.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Problema redimensionando array
« Respuesta #3 en: 25 Agosto 2015, 20:28 pm »

Utilizar memoria que no está reservada puede dar errores, no te asegura que no vaya a cambiar, y puede dañar el funcionamiento del programa.
Acceder a memoria que no reservaste puede hacer que modifiques memoria de otra variable de tu programa, por ejemplo.
En línea

snake_linux

Desconectado Desconectado

Mensajes: 70


Ver Perfil
Re: Problema redimensionando array
« Respuesta #4 en: 25 Agosto 2015, 21:20 pm »

Utilizar memoria que no está reservada puede dar errores, no te asegura que no vaya a cambiar, y puede dañar el funcionamiento del programa.
Acceder a memoria que no reservaste puede hacer que modifiques memoria de otra variable de tu programa, por ejemplo.

Gracias ya me ha quedado claro.

Saludos.
En línea

kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
Re: Problema redimensionando array
« Respuesta #5 en: 25 Agosto 2015, 23:09 pm »

yo creo en este caso lo mejor sería usar listas enlazadas. Creas una lista y añades y eliminas elementos a antojo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con array
Programación Visual Basic
Free-Knowledgend 4 2,129 Último mensaje 3 Julio 2006, 23:33 pm
por <--v1c1ous-->
Duda redimensionando!
Programación Visual Basic
skyweb07 2 1,465 Último mensaje 22 Septiembre 2008, 02:06 am
por skyweb07
Redimensionando imagenes
Diseño Gráfico
traviatØ 5 3,438 Último mensaje 6 Enero 2009, 10:05 am
por traviatØ
Problema con Array
PHP
Riki_89D 5 2,920 Último mensaje 12 Marzo 2009, 15:39 pm
por Riki_89D
Problema con Array
Programación C/C++
Ja_90 5 8,531 Último mensaje 20 Octubre 2015, 19:29 pm
por Ja_90
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines