Tárolás a memóriában
Globális (egy fájl)
Egy számítógépes program egészére vagy annak külön eljárást, úgynevezett beugró (az angol újrahívható -. Újrahívható), ha ez úgy van kialakítva, oly módon, hogy egy és ugyanazon a számítógépi program példányát utasításokat a memóriában lehet osztani több felhasználó vagy folyamatokat. Ebben az esetben a második felhasználó is okozhat visszatérő kódot előtte véglegesíti az első felhasználó, és ez legalább nem vezethet egy hiba, és a legjobb esetben nem okoz kiszámításánál veszteség (azaz nem látszik szükségesnek, hogy teljesítse már kódrészletek) .
Újrahívható funkciók szorosan kapcsolódnak biztonság egy többszálú környezetben (thread-biztonság), azonban a különböző koncepciók (gyakorlati programozás alatt a modern operációs rendszerek, a „beugró” valójában megegyezik a kifejezés «thread-safe»). Feltéve reentrancy kulcsfontosságú programozási többfeladatos rendszerek, különösen operációs rendszerek.
A visszatérés biztosítása érdekében több feltételnek kell teljesülnie:
· A hívott kód egy részét nem szabad módosítani;
· A hívott eljárás nem tárolja az információkat a hívások között;
· Ha az eljárás megváltoztatja az adatokat, akkor minden egyes felhasználónak egyedinek kell lennie;
· Az eljárásnak nem szabad visszaadnia a mutatókat a különböző felhasználókhoz tartozó objektumokhoz.
Általánosságban, az újbóli beiktatáshoz szükséges, hogy a hívási folyamat vagy funkció minden szükséges adatot átadjon a hívott folyamatnak. Így egy függvény, amely csak a paraméterektől függ, nem használja a globális és a statikus változókat, és csak visszatérő funkciókat hív meg, visszatért. Ha a függvény globális vagy statikus változókat használ, akkor gondoskodni kell arról, hogy minden felhasználó tárolja a változók helyi példányát.
Az a helyzet, amikor egy függvény egy vagy több módon maga okozza magát, a rekurziónak nevezik. A rekurzió, amikor egy függvény közvetlenül magára utal, egyenes vonalnak nevezik; egyébként közvetettnek nevezik.
Az összes C ++ funkció (a fő funkció kivételével) használható rekurzió létrehozására.
Rekurzív függvényben legalább egy feltételnek kell lennie, amely esetben a rekurzív hívások sorrendjét meg kell szüntetni.
18) A tömbök ugyanazon típusú több érték tárolására szolgálnak. Például a Fahrenheit-től Celsius-ig terjedő programban. kiszámítottuk az átlaghőmérsékletet. Ha az értékek nem három, hanem sokkal több, csak tömböket kell használni.
Mielőtt felhasználható egy tömb, meg kell határoznia. A tömb meghatározása magában foglalja: a tömbben tárolt adatok típusa, a tömb neve és a tömb elemeinek száma szögletes zárójelben:
Ebben a kódban meghatároztuk a tíz elem típusú tömbazonosítót (tömböt) tartalmazó tömböt.
Ebben a formában a tömb minden eleme még mindig inicializálatlan. A nyilatkozathoz való inicializáláshoz a következő szintaxist kell használni:
Tárolás a memóriában
A tömb elemei egymás után egymás után kerülnek a memóriába. A tömb minden eleme annyi memóriát vesz fel, mint egy olyan változóhoz rendelve, amelynek típusát a tömb leírása határozza meg.
A tömb mérete a tömb összes elemének száma. Gyakrabban a tömb mérete a tömb által elfoglalt memória mennyisége, azaz a tömb elemeinek összesített száma, szorozva az egyik elem méretével. A változó tömb memóriában elfoglalt mérete a programban megtalálható a konstrukcióban
A literál konstans egy állandó (szám, karakterlánc, dátum), amely közvetlenül a kódban található.
Például: X = Y + 2
Itt a 2. szám egy literális konstans.
A karakterláncok olyan információkat tárolnak, mint a fájlnevek, könyvcímek, alkalmazotti nevek és más karakterkombinációk. A legtöbb C ++ program a karakterláncokat széles körben használja. Ezután megtudhatja, hogy a C ++-ban a karakterláncok egyfajta char karaktert tartalmaznak, amely NULL (vagy ASCII 0) karakterrel zárul. Ebben a leckében a karakterláncokat részletesebben tárgyaljuk. Megtanulják a karakterláncok tárolását és feldolgozását, valamint a karakterláncok kezelésére szolgáló futásidejű könyvtári funkciókat. E lecke végéig az alábbi alapkoncepciókat fogja elsajátítani:
Az index a C nyelv egyik legfontosabb fogalma.
A mutatók pontos megértése és használata különösen a következő okok miatt szükséges a jó programok összeállításához:
· A mutatók olyan eszközök, amelyek révén a függvények megváltoztathatják a hozzá átadott érvek értékeit;
· A memória dinamikus elosztása mutatókkal történik;
· A mutatók lehetővé teszik a programozás hatékonyságának növelését;
· A mutatók támogatják a dinamikus adatstruktúrákat (bináris fák, összekapcsolt listák).
Azonban a mutató számos nehézséget okozhat, például ha a mutató hibás értéket tartalmaz, a program lehet, hogy nem működik. Könnyen hibákat követhet el a mutatók használatakor; Emellett a mutatók hibás értékeire vonatkozó hibákat nagyon nehéz megtalálni.
A mutató típusa határozza meg az objektum típusát, amelyre a mutató utal, például,
A mutatók és tömbök fogalma szorosan összefügg. Vegye figyelembe a következő programrészet:
Itt a p1 a tömb első oldalára mutat. A str sor ötödik elemét kétféle kifejezés segítségével nyithatja meg: