Wiki Markup |
---|
h1. Tietue, struct |
...
Tietue (struct) on erilaisten tietojen joukko, joka on yhdistetty yhden nimen alle. Tietueita käytetään tietokantojen yhteydessä, kun samaan tietojoukkoon täytyy tallettaa erityyppistä tietoa. Seuraavassa on esimerkki tietuemäärittelystä työntekijälle. |
...
{code |
} struct TyontekijaTiedot { char Sukunimi[50]; char Etunimi[50]; char Sotu[15]; int Palkka; }; {code} TyontekijaTiedot tietuerakenne voidaan ottaa käyttöön seuraavasti: |
...
{code |
} struct TyontekijaTiedot Tyontekija; {code} Nyt voidaan antaa työntekijälle nimi |
...
{code |
} strcpy(Tyontekija.Sukunimi,"Jokunen"); {code} ja palkka |
...
{code |
} Tyontekija.Palkka=15000; {code} Edellä olevassa tavassa on se ongelma, miten esitellä 1000 työntekijää? Seuraavassa kappaleessa on osittainen vastaus tähän |
...
Tietuetaulukot
Tietuetaulukon avulla voidaan esitellä monta tietuetta sisältävä tietokokonaisuus seuraavasti:
Code Block |
---|
. ---- h1. Tietuetaulukot Tietuetaulukon avulla voidaan esitellä monta tietuetta sisältävä tietokokonaisuus seuraavasti: {code} struct Varastohyllyt { char Nimike[50]; int Kolliluku; }; int main() { int Paikka=0; struct Varastohyllyt Hylly[1000]; strcpy(Hylly[Paikka].Nimike,"Kossu"); Hylly[Paikka].Kolliluku=10; return 1; } {code} Esitetty taulukkomäärittely soveltuu tapauksiin, joissa etukäteen tiedetään, kuinka monta jäsentä taulukkoon kuuluu. Osoittimien avulla voidaan käsitellä tietuetaulukoita joustavammin, palaamme niihin myöhemmin. |
...
Union
union on vaihtoehtorakenne, jolla voidaan vaihtoehtoisesti tallettaa haluttuun tietueen kohtaan toisen tyyppistä tietoa, esim:
Code Block |
---|
---- h2. Union union on vaihtoehtorakenne, jolla voidaan vaihtoehtoisesti tallettaa haluttuun tietueen kohtaan toisen tyyppistä tietoa, esim: {code} union Luku // esitellään union: { int iArvo; double dArvo; }; void JokuFunktio() { struct Luku Eka,Toka; int iLuku=5; double dLuku=10.45; Eka.iArvo=iLuku; Toka.dArvo=dLuku; } {code} |
Union tietueen osana
Sellaisissa tapaksissa, joissa samaan tietueen kenttään halutaan tallettaa erityyppistä tietoa,
unionia käytetään tietueen osana.
Code Block |
---|
---- h1. Union tietueen osana Sellaisissa tapaksissa, joissa samaan tietueen kenttään halutaan tallettaa erityyppistä tietoa, unionia käytetään tietueen osana. {code} struct TyontekTiedot { char sSukunimi[50]; char sEtunimi[50]; union ID { char sSotu[15]; int HenkiloID; }; int Palkka; } {code} ---- |