Szerkezetek függvényargumentum
int nVar; hosszú 1Var; rövid shVar; unsigned int Újvár;
függvény prototípusa, például, hogy a forma: void Func (ALLNUMB);
Tehát van egy átviteli függvény a szervezetben a értéke típusú paraméter szerkezet. Így, strukturált módosítását az eredeti objektum nem tárgya. A funkció is visszatérhet a típusú objektum szerkezete:
Ebben az esetben a módosított adatokat, ha a funkció nem veszett el, és kerül át a hívás funkciót.
Tekintsük a példát az átviteli függvény a Ház az előzőekben ismertetett szerkezet megjelenítéséhez utcanév és házszám, bennük.
unsigned short Regnum;
unsigned short MaxFloorNum;
unsigned short MaxFlatNum;
strcpy (MyHouse.Street "Gogol utca.");
void OutAddress (Ház Ház)
cout «house.Street« ""; cout «house.HouseNum« '\ n';
Hívás OutAddress funkció (MyHouse) továbbít egy kialakított karosszériaszerkezet, a hozzáférést a tagok, amelyek megfelelően kerül végrehajtásra a fenti szabály, a karakter „pont” (.). Az eredmény jelenik meg:
tömb struktúrát
Önmagában egyetlen rekord típusú szerkezetet a legtöbb esetben nem valószínű, hogy a megnövekedett érdeklődést. Azonban, ha a strukturált adatok egyesítünk tömbök, már nem egy egyetlen objektum, de a teljes adatbázis.
Hozzáférés az elemek a tömb a szokásos módon, például egy index (indexelő végzik nullától kezdve). A következő kódrészlet végzi a ciklus kitöltése HOUSE rendezett szerkezetét házszámok, és ezután kiadja a rögzített adatokat az oszlop a képernyőn:
A (int i = 0; i<30; i++)
A (int i = 0; i<30; i++)
cout «mDistrfi] .HouseNum« '\ n';
Emlékezzünk, hogy a funkció konvertáló egy egész szám, hogy a karakterláncot itoa () kell csatlakoztatni stdlib.h modul.
Mivel a felvétel szerkezete igen gyakran jelentős méretű (lehetnek tömbök elemeit más struktúrák, stb) kell figyelembe venni a memória korlátait, amikor kiválasztják sootvetstvuyushaya modell szerint.