Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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;

...

}

...


...

...