formal argument
Megjelenés
Főnév
formal argument (tsz. formal arguments)
- (informatika) A parameter (vagy más néven formális paraméter / formális argumentum) a számítógépes programozás egyik alapfogalma. Olyan változó, amely egy alprogram (függvény vagy eljárás) meghívásakor kap értéket, mégpedig az úgynevezett argumentumtól, amit más néven aktuális argumentumnak vagy aktuális paraméternek is nevezünk.
🧠 1. Alapfogalmak tisztázása
➤ Formális paraméter (formal parameter)
- A függvény definíciójában szerepel.
- Ez egy helyettesítő név, amely megkapja a híváskor átadott értéket.
- Olyan, mint egy változó, amely ideiglenesen létezik a függvény futása alatt.
➤ Aktuális argumentum (actual argument / actual parameter)
- Ez az érték vagy kifejezés, amit a függvényhíváskor megadunk.
- A hívás során ez kerül összerendelésre a formális paraméterrel.
📘 2. Példa C++ nyelven
int osszeg(int a, int b) { // 'a' és 'b' formális paraméterek
return a + b;
}
int main() {
int eredmeny = osszeg(5, 3); // 5 és 3 az aktuális argumentumok
return 0;
}
- A
osszeg(5, 3)hívás során a5aza-hoz, a3ab-hez kerül. - Az
aésbváltozók csak aosszegfüggvényen belül léteznek.
🧱 3. Paraméterek és függvényszignatúra
A függvény szignatúra (signature) az a rész, amely meghatározza a:
- függvény nevét,
- paraméterek számát,
- típusát és sorrendjét.
Példa szignatúra:
int osszeg(int, int);
Ezen keresztül lehet megkülönböztetni az azonos nevű, de különböző paramétereket használó függvényeket (függvény túlterhelés, overload).
🔁 4. Paraméterátadás módjai
| Mód | Leírás |
|---|---|
Érték szerint (pass by value) |
A paraméter másolatot kap. A függvényen belüli változtatás nem hat ki az eredeti változóra. |
Referencia szerint (pass by reference) |
A paraméter hivatkozást kap az eredeti változóra. A változtatás hatással van rá. |
| Pointerrel | A cím kerül átadásra. Rugalmas, de több hibalehetőséggel. |
Példa érték szerinti:
void negyzet(int szam) {
szam = szam * szam;
}
Példa referencia szerint:
void negyzet(int& szam) {
szam = szam * szam;
}
🔧 5. Paraméterek viselkedése különböző nyelvekben
| Nyelv | Alapértelmezett mód |
|---|---|
| C | Érték szerint, de pointerrel lehet referenciát utánozni |
| C++ | Érték és referencia szerint is |
| Java | Érték szerint, de objektumreferencia másolódik |
| Python | “Object reference by value” – minden objektum referencia, de az érték módosítása nem mindig hat vissza |
| JavaScript | Objektumok referencia, primitívek érték szerint |
📦 6. Paraméterek fajtái funkció szerint
➤ Kötelező paraméter:
- A függvény meghívásakor mindenképp meg kell adni.
➤ Opcionális paraméter:
- Lehet alapértelmezett értéke.
- Ha nem adjuk meg, az alapérték lép életbe.
void koszones(string nev = "vendég") {
cout << "Szia, " << nev << "!" << endl;
}
➤ Változó számú paraméter:
...szintaxissal (varargs)- Példa:
printf("%d %f", a, b);
🧰 7. Függvények és memóriakezelés
- A formális paraméterek a veremben (stack) kapnak helyet.
- Érték szerinti átadás: az érték lemásolásra kerül, azaz plusz memóriát használ.
- Referencia szerint: nem kell másolni, de óvatosan kell vele bánni, nehogy váratlan mellékhatások legyenek.
🔄 8. Függvényhívás folyamata (röviden)
- Az aktuális paramétereket kiértékeljük.
- Ezek az értékek átkerülnek a formális paraméterekhez.
- A függvény végrehajtódik a saját paraméterei alapján.
- A hívás után az aktuális környezet folytatódik.
🧠 9. Miért hasznosak a formális paraméterek?
- Általánosítható a kód: nem konkrét értékekre épül.
- Többszörhasználható: egyetlen függvény többféle bemenetre is működik.
- Jobban tesztelhető: könnyű új értékekkel kipróbálni.
- Olvashatóbb és strukturáltabb programkódot eredményez.
🚫 10. Hibák és félreértések
| Probléma | Példa |
|---|---|
| Helytelen paraméterszám | Egy argumentum hiányzik a hívásnál |
| Típusütközés | Például int helyett string |
| Referencia helyett érték használata | A változások nem érvényesülnek |
| Oldalhatások | Váratlan módosítás az eredeti változón |
🌐 11. Funkcionális nyelvek és paraméterek
A funkcionális nyelvek (pl. Haskell) paraméterkezelése más filozófiát követ:
- Minden függvény tiszta: nincs mellékhatás.
- Paraméterek értéktípusok, és a függvény mindig ugyanazt adja vissza ugyanarra a bemenetre.
🧩 12. Összegzés
A formális paraméter a függvények egyik legfontosabb eleme: ezek révén általánosan megfogalmazott műveleteket tudunk végrehajtani. Az aktuális argumentumokkal való kapcsolatuk adja meg a függvény rugalmas használhatóságát. A különféle paraméterátadási módok, típusok és viselkedések kulcsfontosságúak a hatékony, biztonságos és olvasható kód írásához.
- formal argument - Szótár.net (en-hu)
- formal argument - Sztaki (en-hu)
- formal argument - Merriam–Webster
- formal argument - Cambridge
- formal argument - WordNet
- formal argument - Яндекс (en-ru)
- formal argument - Google (en-hu)
- formal argument - Wikidata
- formal argument - Wikipédia (angol)