Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Błąd przy otwieraniu programu z definicją dużej (500 tysięcy elementów) tablicy

Ostatnio zmodyfikowano 2015-03-14 21:21
Autor Wiadomość
Kyriet
Temat założony przez niniejszego użytkownika
Błąd przy otwieraniu programu z definicją dużej (500 tysięcy elementów) tablicy
» 2015-03-14 21:02:19
Nie będę przedłużał niepotrzebnymi historiami i do rzeczy:
To działa:
C/C++
#include <iostream>

using namespace std;

int main()
{
    int tab1[ 100000 ];
    system( "pause" );
    return 0;
}
A to nie działa:
C/C++
#include <iostream>

using namespace std;

int main()
{
    int tab1[ 500000 ];
    system( "pause" );
    return 0;
}
Błąd przy włączaniu (kompilacja prawidłowa): http://i.imgur.com/KaFrTRD.png​?1

A ze wskaźnikiem działa nawet definicja 50 milionów elementów:
C/C++
#include <iostream>

using namespace std;

int main()
{
    int * tab = new int[ 50000000 ];
    system( "pause" );
    return 0;
}
Co robię źle?
Pozdrawiam.
P-128381
aksen
» 2015-03-14 21:13:17
tablice statyczne -> są tworzone na stosie (nie mogą być zbyt duże bo przepełnisz stos)
tablice dynamiczne -> są tworzone na stercie

Stos i sterta
http://www.egrafik.pl​/kurs-c-plus-plus/8.1.php
P-128383
Kyriet
Temat założony przez niniejszego użytkownika
» 2015-03-14 21:21:08
Dziękuję za błyskawiczną odpowiedź wyjaśniającą wszystko. Pozdrawiam ;)
P-128384
« 1 »
  Strona 1 z 1