...
Code Block |
---|
struct TyontekijaTiedot { char Sukunimi[50]; char Etunimi[50]; char Sotu[15]; int Palkka; }; |
TyontekijaTiedot tietuerakenne voidaan ottaa käyttöön seuraavasti:
Code Block |
---|
struct TyontekijaTiedot Tyontekija; |
Nyt voidaan antaa työntekijälle nimi
Code Block |
---|
strcpy(Tyontekija.Sukunimi,"Jokunen"); |
ja palkka
Code Block |
---|
...
Tyontekija.Palkka=15000; |
Edellä olevassa tavassa on se ongelma, miten esitellä 1000 työntekijää? Seuraavassa kappaleessa on osittainen vastaus tähän.
...
Tietuetaulukon avulla voidaan esitellä monta tietuetta sisältävä tietokokonaisuus seuraavasti: Wiki Markup
Code Block |
---|
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; } |
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 } \\ Esitetty taulukkomäärittely soveltuu tapauksiin, joissa etukäteen tiedetään, kuinka monta jäsentä taulukkoon kuuluu. Osoittimien avulla voidaan käsitellä tietuetaulukoita joustavam\- min, palaamme niihin myöhemmin.
...
Union
union on vaihtoehtorakenne, jolla voidaan vaihtoehtoisesti tallettaa haluttuun tietueen kohtaan toisen tyyppistä tietoa, esim:
Code Block |
---|
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; |
...
} |
...
Union tietueen osana
Sellaisissa tapaksissa, joissa samaan tietueen kenttään halutaan tallettaa erityyppistä tietoa,
unionia käytetään tietueen osana.unmigrated-wiki-markup
Code Block |
---|
struct TyontekTiedot |
...
{
|
...
char sSukunimi |
...
[50 |
...
];
|
...
char sEtunimi |
...
[50 |
...
];
|
...
union ID |
...
{ |
...
char sSotu\[15\]; |
...
int HenkiloID; |
...
}; |
...
int Palkka;
|
...
} |
...
|
...
...