függvény prototípusa

A modern, jól megírt C programok minden funkció be kell jelenteni a használat előtt. Ezt általában a segítségével a függvény prototípus. Az eredeti nyelven a prototípus nem volt; de ezeket már be az S89 szabvány. Bár a prototípusok formálisan nem kötelező, de ezek használata nagyon kívánatos. (Azonban a C ++ prototípusok szükséges!) Az összes példa ebben a könyvben tele vannak függvények prototípusai. Prototípusok hogy a fordító a lehetőséget, hogy alaposan végrehajtja típus ellenőrzése, ahogy ez történik nyelvek, mint a Pascal. Ha használt prototípusok, a fordító azonosíthatja megkérdőjelezhető átalakítsa az érveket szükséges függvényhívásnál ha a típusát annak paraméter eltér a argumentumtípusoknak. Ez figyelmeztető üzenetet ad minden ilyen kétes konverziót. A fordító is érzékeli különbségek számos érvet használják a hívás funkció és számos funkció paramétereit.

Általában a függvény prototípus kell kinéznie:

A paraméter neveket nem szükséges. Azonban ezek teszik lehetővé a fordító, ha van egy hiba, hogy meghatározza nevek, melyek egy eltérés létezik, ezért nem lehet lusta, hogy meghatározza ezeket a neveket - ez időt takarít meg később.

A következő program megmutatja, hogy milyen értékes a függvények prototípusai. Ez egy hibaüzenet jelenik meg, amely akkor annak a ténynek köszönhető, hogy a program tartalmaz egy kísérlet sqr_it () hívás az egész érv, míg szükséges egy indexet.

Mivel a prototípus a funkciók is szolgálhat annak meghatározására, ha a programot, mielőtt az első hívást ezt a funkciót. Például a megfelelő programot:

Az egyetlen funkció, amely nem igényel egy prototípus - ez a main (). mivel ez az első függvényt, az elején a program.

Van egy kicsi, de fontos különbség, hogy a C és C ++ függvény prototípusa a feldolgozott paraméterek nélkül. A C ++, egy üres paraméter lista teljes hiányát minden paraméter a prototípus. Például,

Ha a függvény a C nyelvben nincsenek paraméterei, saját prototípus a paraméter lista csak a kulcsszó érvénytelen. Például, a prototípus f () abban a formában, amelyben kell legyen a program a C:

Így a fordító tudja, hogy a funkció nem paraméterek, és bármilyen utalás, ahol vannak érvek kezelendő, mint egy hiba. A C ++, használd a void egy üres paraméter lista is megengedett, de feleslegesnek tekinthető.

Funkció prototípusok lehetővé teszik, hogy „elkapni” a hibát, mielőtt a program elindul. Ezen túlmenően, hogy megtiltaná hívás funkciók egy mismatch fajta (vagyis a nem megfelelő érvek), és ezzel segítenek a helyességét a program.

És végül szeretném mondani a következő: mint a korábbi verziókban a prototípus szintaxis nem teljesen támogatott, akkor a következő prototípust hivatalosan nem kötelező érvényű. Egy ilyen megközelítés szükséges kompatibilitás a P-generált kódot, még mielőtt a prototípusok. De ha a régi C kód kerül átvitelre C ++, akkor lefordítani ezt a kódot meg kell adni a teljes funkció prototípusok. Ne feledje, hogy bár a prototípusokat C nem kötelező, de szükség van rájuk C ++. Ez azt jelenti, hogy egyes funkciók a program C ++ kell egy komplett prototípus. Ezért, amikor az írás programok C, és tartalmaznia kell a teljes funkció prototípusok - ez az, amit a legtöbb programozó dolgozik ezen a nyelven.

A régi vágású megközelítés, az eredmény írja a függvény neve, az alábbiak szerint kerülnek be szinte az elején a program:

Prototípusok a régi vágású könyvtári függvények

Kapcsolódó cikkek