Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/03/2016, 10:08
Avatar de xKuZz
xKuZz
 
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: Peta o no peta XD

Hay 3 maneras de almacenar un dato:
  • Estática/Global
    Al declarase en un ámbito global ya se fuera del main o con la palabra reservada static el espacio es reservado en el momento de compilación. Si el tamaño es más grande de lo permitido el compilador dará un error del tipo array size is too large
  • Pila (Stack) /Automático
    Al ponerlo como lo tenías dentro del main la reserva se hace en tiempo de ejecución añadiendo al tamaño de la pila, no obstante en este caso el programa será finalizado por el SO si superas el límite que el mismo pone para la pila de tu programa.
  • Dinámica [new/delete, malloc/free]
    En este caso puedes utilizar lo que tienes es un puntero a una dirección de memoria fuera de la zona de memoria reservada para la pila y de la zona de variables estáticas a partir de la que empieza un bloque de memoria de X tamaño que tienes reservado. No olvides liberarlo.

En conclusión, si necesitas trabajar con grandes tamaños de memoria la mejor opción que tienes es usar memoria dinámica.