Kezdőlap › Fórumok › Programozás › C
- This topic has 80 hozzászólás, 19 résztvevő, and was last updated 17 years, 8 months telt el by
xcut.
-
SzerzőBejegyzés
-
2007-10-06-00:14 #2078075
A 16 bites int típus izgalmasabb, mert úgy a típuskonverzió módosítja a konstans értékét. Bár a 32768 (MAX_INT+1) és nagyobb konstans is ugyanezt okozza, mivel előjeles egészt adtál meg. A gagyi fordító – ha nincs normális fordítás idejű típus átalakítás – bebilentheti az átviteli jelzőbitet (CF – Carry Flag), és a következő művet értékét befolyásolhatja. Ha ‘long int’-et használsz, akkor 32 bites rendszereken megegyezik a típus által használható értéktartomány, de a 64 bites rendszereknél már nem lesz jó.
Egyébként a C nyelvet gyakran csúfolják assembly makrókönyvtárnak. Elég nagy a valóságalapja, ezért is olyan könnyű assembly kódot beágyazni egy C kódba.
2007-10-06-08:51 #2078076Talan ez is temaba vag 🙂
C, C++ -ban nagyon konnyu elszurni dolgokat, de pascalban ott van a „{$R+,S+,Q+}” (a 3 direktiva jelentese: range checking, stack checking, integer overflow checking)
2007-10-06-21:04 #2078077Nos én azt mondom, hogy általános és középiskolában elég a Pascalt mint programozási nyelvet tanítani (de nem a Turbo Pascalt), mivel egyszerű, tipusos nyelv és engedi a pointer használatot (a pointerekről tanulni kell). Főiskolán/egyetemen C/C++ majd egyéb nyelvek, hogy lássa át a diák melyik nyelv mit tud, melyikkel mit lehet és mit nem. Nem valószínű, hogy C/C++ kell egy webfejlesztéshez (hacsak nem valami alacsony szintű kütyüt felyleszt), de nem is Pascal, arra ott a PHP vagy a Java, Perl, Ruby stb.
Tehát a tanuló majd eldönti, hogy amikor profi programozó akar lenni, ahhoz bizony kell a C/C++, kell UML stb., és szépen a C/C++-t fogja előnyben részesíteni. De ha a tanuló nem akar vérbeli bithajkurász lenni (nem akar kernelt felyleszteni, headereket olvasgatni), de azért írogatna néha programot kis adatbázissal, arra jó a Free Pascal, mégha kicsit bele is mélyedne idővel.
Ez annyit tesz, hogy a tanuló tanuljon csak Pascalt is meg C/C++-t is meg PHP-t is meg satöbbit is (persze ha olyan szakon van, mert egyébként minek)!Nincs kedvem már irogatni!
2007-10-07-23:05 #2078078A topicnyitónak (eReL):
Bár lehetséges megerőszakolva a dolgokat tömböt visszaadni, a standard megoldás mégis az, hogy a függvény maga void lesz, és a paraméterei közt adsz át egy tömbre mutató pointert. Ezen a pointeren át eléred az eredeti tömböt. Így kvázi cím-szerinti átadást valósítasz meg, hiszen a tömbre mutató pointer a tömb báziscímét tartalmazza. Ha a tömb első elemére mutató pointert adsz át, akkor kvázi végig tudsz iterálni a tömbön a pointer növelgetésével (figyelem, ez pointer++ és nem *pointer++ lesz!). Ebben az esetben viszont plusz paraméterként meg kell adnod, hogy a tömb mégis mekkora, nehogy túlszaladj rajta.
Ha nem akarsz méretet átadni, akkor arról kell gondoskodni, hogy az illető tömb végén valami illegális érték legyen (ez nyilván kontextusfüggő), így ennek a detektálása esetén megszakíthatod a függvény végrehajtását. Természetesen ha a feladat általános (úgy értem, a tömbben bármi lehet, az adott környezetben nem tudod megmondani, mi illegális érték), akkor nincs más hátra, mint a tömbméret átadása a függvénynek.2007-10-10-11:44 #2078079kis szünet után ismét itt vagyok.
ahogy azt belém „verték” a Firmák az elmúlt két hétben, én egy nagyon sötét pogány vagyok, szóval fogalmam sincs, hogy hogyan kell használni a DOSBox-ot, ha elindítom kidob egy (gondolom virtuális) Z: meghajtót és kész, nem találom rajta a HDD-m tartalmát, így nem tudkm elindítani a bc.exe-t.
tudom, sok baj van velem, de ha ebben segítetek, igérem többet nem fáradsztok senkit a kezdő problémáimmal (egy darabig
)
2007-10-10-12:34 #2078080mount c: /home/user/dos
ha a user felhasználó dos könyvtárát szeretnéd C meghajtónak, de bármit megadhatsz neki
2007-10-10-14:48 #2078081kozapeti wrote:ahogy azt belém „verték” a Firmák az elmúlt két hétben, én egy nagyon sötét pogány vagyok,Tényleg nagyon sötét vagy, de csak a legutosó hozzászólásod alapján. Mivel engem is érint az obszcén célozgatásod, ezért szájbarágósan felvilágosítlak. A Borland C oktatása azért nagy baj, mert aki jelenleg ezt tanulja, nem lesz képes a megszerzett tudását érdemben hasznosítani, de ez a tanár és az iskola hibája. Mindezt tetézi, hogy a fent nevezett terméket 5-10 éve nem fejlesztik, és nem is lehet kapni, így az iskola vagy a „dicső” tanár kényszerít, hogy az otthoni gyakorláshoz lopjad a szofvert (ami a Btk. szerint bűncselekmény), miközben van ingyenes, szabadon használható szabványos fejlsztőeszköz (gcc, devcpp, stb). Mindez egyetemi szinten megy (Miskolci Egyetem). Senki nem állította, hogy tenned is kell valamit, vagy bármiről is tehetnél. Pedig igazán megkérdezhetted volna (magadtól – elvégre egyetemista vagy) a tanító bácsid, mire fogsz menni a megszerzett „tudásoddal”. De ha Neked így jó, ahhoz senkinek semmi köze.
2007-10-10-16:11 #2078082kozapeti wrote:többet nem fáradsztok senkitSzóra sem érdemes, fáraddssz csak, azért vagyunk itt.
2007-10-10-16:16 #2078083Jelenleg 3 nyelven tanulok. Assembly,C, és VB. Ezek előtt csak 1 nyelven erőltették belém a tudást. Ez a Pascal volt. Nagyon szenvedtem vele. Főleg a dinamikus tárkezelés része nagyon vérhányás volt részemről. A vicc az hogy assembly jóval nehezebb nyelv és jobban értem. Ami viszont előnyőmre szól, hogy a C nyelv tanulása során sokkal közérthetőbben látom át a pointerek működését. Én továbbra is azt mondom hogy Pascal csak egy szükséges reklám a programozás alapokhoz+algoritmizálás.
2007-10-10-17:52 #2078084kozapeti wrote:én egy nagyon sötét pogány vagyok, szóval fogalmam sincs, hogy hogyan kell használni a DOSBox-ot, ha elindítom kidob egy (gondolom virtuális) Z: meghajtót és kész, nem találom rajta a HDD-m tartalmát, így nem tudkm elindítani a bc.exe-t.
A Linuxvilágban van/volt egy bevezető jellegű cikk. De gondolom, meg se próbáltál keresgélni… -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz