Kezdőoldal » Számítástechnika » Programozás » C-ben összeomlik a program...

C-ben összeomlik a program tömbdeklarációnál, miért?

Figyelt kérdés
Modellezek és egy 4 millió elemszámú 3 dimenziós tömbbe akarok adatokat tárolni, de a deklarációnál összeomlik a program. Tesztelgettem, 127 000 adatig enged elmenni. Mit tehetek most? Ja és double típusú a tömb.
2014. máj. 21. 16:08
 1/9 anonim ***** válasza:
2014. máj. 21. 16:12
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Az összeomlikot pontosítsd: van hibaüzenet? Pl. segmentation fault?


Ehhez itt vannak topikok:

[link]

2014. máj. 21. 16:40
Hasznos számodra ez a válasz?
 3/9 iostream ***** válasza:

Az csak 30 mega, nem okozhat problémát... kivéve, ha a stacken akarod létrehozni. Használj mallocot.


Tehát nem

double tomb[1000][1000][4];


hanem

typedef double tomb[1000][1000][4];

tomb* myTomb = malloc(sizeof(tom));


Vagy valami ilyesmi.

2014. máj. 21. 16:46
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
Az is elég lehet, ha kirakod globális változónak.
2014. máj. 21. 16:53
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:
Köszönöm a válaszokat! Sajnos még nem értek annyira a programozáshoz, pointereket sem igazán tudom kezelni, szóval nem értem a fentieket.
2014. máj. 21. 16:55
 6/9 anonim ***** válasza:

A tömb deklaráció hol van? A main()-ben vagy más függvényben?

Tedd ki a fájl elejére, közvetlenül az #include-ok után.

2014. máj. 21. 16:59
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
main-ben volt. Így működik, nagyon szépen köszönöm a segítségedet! Így értelmet nyert a globális változó fogalma is. Azt még megkérdezhetem, hogy így miért működik és a main-ben miért nem működött?
2014. máj. 21. 17:03
 8/9 anonim ***** válasza:
Valószínűleg azért, mert a függvényen belüli "lokális" változók a veremterületre kerülnek, a globális változók pedig a statikus adatterületre. Szóval másképp kezeli őket a fordító, máshova pakolja őket a memóriában.
2014. máj. 21. 17:18
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
Értem, köszönöm!
2014. máj. 21. 18:37

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!