• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Maksymalny rozmiar tablicy dynamicznej od czego zależy?

0 głosów
2,585 wizyt
pytanie zadane 20 listopada 2015 w C i C++ przez Mnrock Nowicjusz (210 p.)

Witam

Ciekawi mnie jak dużą tablicę można stworzyć. Chciałem napisać program liczący silnie i udało mi się policzyć silnie z np. 50000! i na przykładzie silnii zaalokowałem prawie 168mln pamięci dla tablicy dynamicznej dzięki czemu mogę policzyć silnię o długości 168mln liczb lecz to zajeło by wieki :D

Zastanawia mnie dlaczego nie mogę zaalokować więcej np zmieniając typ tablicy na unsigned long long i tak powyżej 168mln program się wysypuje, czy to zależy tylko i wyłącznie od danego sprzętu czy jeszcze od czegoś innego?

działa do wartości rozmiar:

int rozmiar = 167900000;
int *cyfry = new int[rozmiar];

działa tak samo, zwiększenie rozmiaru skutkuje błędem:

int rozmiar = 167900000;
unsigned long long *cyfry = new unsigned long long[rozmiar];

 

1 odpowiedź

+1 głos
odpowiedź 21 listopada 2015 przez Kolboch Bywalec (2,320 p.)
http://www.researchgate.net/post/What_is_the_maximum_size_of_an_array_in_C

Tu masz odpowiedź na pytanie, przy okazji tez sie czegos dowiedziałem :)

Maksymalny rozmiar tablicy jest okreslony przez ilosc pamieci do ktorej ma dostep program.
Np. na 32 bitowym systemie, max ilosc pamieci ktora moze byc zaadresowana przez wskaznik to 2^32 bajtow- ok.4Gb.
w rzeczywistosci obszar zarezerwowanej pamieci jest mniejszy. zalezy to z pewnoscia od systemu, maszyny wirtualnej i to jak ona sama jest obslugiwana.

System 64-bitowy bedzie mogl obsluzyc wieksza tablice.

Obszar pamieci ktory mozesz zaadresowac nie zalezy od specyfikacji podzespołów, np. Twojej pamięci RAM.

Podobne pytania

0 głosów
2 odpowiedzi 1,679 wizyt
0 głosów
2 odpowiedzi 1,139 wizyt
0 głosów
2 odpowiedzi 565 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez Zomfire Użytkownik (600 p.)

93,428 zapytań

142,423 odpowiedzi

322,652 komentarzy

62,789 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...