- Az USA nem akarja visszafogni Kína növekedését
- Mikrotik routerek
- Milyen routert?
- 1000 kilométert mehetnek az EV-k az új CATL-akkuval
- WLAN, WiFi, vezeték nélküli hálózat
- Mesterséges Intelligencia topik
- Kínai cégek segítik ezentúl a Teslát, a Renault-t, a Hyundait és a Toyotát
- Crypto Trade
- Alternatív kriptopénzek, altcoinok bányászata
- Synology NAS
Aktív témák
-
_gerisoft_
tag
Ahol a változókat definilni kell, oda beírom, hogy array[640][480];, viszont így nem fut le, mert túl nagynak találja. Lényeg, hogy valahogy definiálni kéne egy nagyobb memória területet, amiben létrehozhatom a kívánt tömböt.
''Két dolog biztos: a halál és az adatvesztés. Szerinted most melyik volt?''
-
kisfurko
senior tag
A for hamisnál már nem fut le. Tehát i<SIZE a jó, nem i<SIZE-1.
Elég lesz a malloc is, úgy is kinullázza kézzel, nem?
Továbbá azt sem értem, miért nem lehet szegény main függvényt rendesen felírni...
int main(int argc, char *argv[])
Meg a tomb-nek is mennie kell.
Meg rendesen deklaráljuk a változókat, ha pedig C++, akkor meg miért nem tomb=new long [640][480].
[Szerkesztve] -
kisfurko
senior tag
Tudom, hogy működnek a mutatók...
Ő azt írta, hogy:
''ez egy sima mutatókból álló tömb,ahol a mutatók egy long int típusú adatra mutatnak.''
Erre írtam, hogy nem. Az egész tömb long-ból áll, te meg oda mutatsz benne, ahova akarsz...
Semmi baj nem volt a
long int *tomb;
deklarációval, csak ő értette félre.
Meg felesleges *(tomb+j)-zni, amikor ez ekvivalens a tomb[j]-vel. Ha nem megy az utóbbi, akkor nem C fordító.
Egyébként annak ellenére, hogy műveletet lehet végezni a mutatóval, nem jelent semmit a méretére vagy ábrázolására nézve (gondolj a kiherélt 8086-os szegmentált címzésre). De ez csak kukacoskodás. -
yerico
senior tag
Ha egydimenziósan foglalod, akkor meg csinálni kell egy függvényt, ami az x, y koordinátákat átalakítja, és a tömböt tomb[x*640 + y]-ként címzi, és visszaadja az értéket. Ha csinálsz erre egy set és egy get függvényt is, akkor máris tudod 2D-sént kezelni.
A sizeoffal való szorzás gyanús, de a pointer + érték az annyi bájttal nagyobb címet adna vissza tudtommal, de rémlik, hogy nem így használtam, mikor anno írtam egy ilyet egy PGSM példaprogramba, hanem tényleg a következő értékre ugrott.
Apropó, miért kell itt long tömbnek lennie, miért nem jó egy sima short int, esetleg egy char? -
TheVeryGuest
senior tag
Hát a compiler free, de az IDE az nem valószínű, azóta is visszasírom a TurboVision-t. A 2.01-es IDEstül letölthető, de ebben nem tudom volt-e már C++, lehet, hogy csak C asse full ANSI.
http://www.thefreecountry.com/compilers/cpp.shtml
http://community.borland.com/article/0,1410,20841,00.html
Mondjuk ha valami jó kis texteditort használsz: CodeWright, UltraEdit, melléteszed a free compilert, oszt akkor már csak a debugger fog hiányozni.“Perfection is attained not when there is nothing more to add, but when there is nothing more to remove” Antoine de Saint-Exupéry
-
TheVeryGuest
senior tag
Ez már jó. Van egy ptr-ed, ami olyan tömbökre tud mutatni, ami longokból áll és 640x480-as. Ezért a (*tomb) már egy tömb ami 6401x480-as ezt pedig már lehet rendes két dimenziós indexszel kezelgetni.
“Perfection is attained not when there is nothing more to add, but when there is nothing more to remove” Antoine de Saint-Exupéry