Versions Compared

Key

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

...

Edellä oleva määrittely kannatta tehdä esim. silloin kun samaa ohjelmistoprojektia tekee useita henkilöitä ja halutaan estää samanimisten eri tiedostoissa olevien muuttujien vaikutus toisiinsa. Nämäkin muuttujat täytyy tietysti esitellä funktioiden ulkopuolella.

Vektori

Vektori on yksiuloitteinen taulukko.  Vektorissa kaikkien jsenten tyyppi on sama. Vektori esitellään esimerkiksi seuraavasti:

Code Block

int lukuja\[100\];

tai

Code Block

int lukuja[100]= { 0 }; // nyt kaikille alkioille annetaan alkuarvoksi 0

Vektorin alkioiden tyyppi voi olla mikä tahansa C:n tyypeistä.

Code Block

char Merkkijoono[100]; // merkkijonoon voidaan laittaa 99 merkkiä ja lopetusmerkki

tai

Wiki Markup
    char Merkkijono\[\]="sdfadfasd";//nyt varataan merkkien määrä \+1 nollamerkkiä varten joka lopettaa merkkijonon

Taulukkomuuttujat

C-kieli käsittelee taulukoita indeksien avulla. Indeksointi alkaa nollasta. C-kieli ei sisällä taulukon ylivuodon tarkastusta vaan se on ohjelmoitsijan tehtävä. Taulukon kaikki alkiot ovat samaa tyyppiä keskenään. Taulukko esitellään seuraavasti:

Wiki Markup
        int OmaTaulukko\[5\]\[4\];

Voidaan ymmärtää että ensimmäinen on rivi-indeksi ja toinen on sarakeindeksi. Huomaa, että ensimmäinen indeksi on välillä 0...4 ja toinen 0...3. Taulukon haluttuun paikkaan päästään indeksien avulla seuraavasti:

Wiki Markup
        int Arvo;
        Arvo = OmaTaulukko\[1\]\[2\];

Pelkkä taulukon nimi on osoitin taulukon alkuun. Eli kaksi seuraavaa tapaa osoittaa samaan alkioon:

Wiki Markup
        Arvo = \*OmaTaulukko;
tai
        Arvo= OmaTaulukko\[0\]\[0\];

Haluttaessa osoittaa toista taulukon alkiota, voidaan se tehdä seuraavasti:

      int *Osoitin;
      Osoitin= OmaTaulukko;
      Osoitin++; //lisätään osoitetta yhdellä
      Arvo = *Osoitin;

Osoitin "juoksee" taulukon läpi rivi kerrallaan.

...

Merkkijonot

Merkkijono on vektori eli yksiulotteinen taulukko. C-kielessä ei merkkijonoille ole valmista muuttujaa, vaan merkkijonot on esiteltävä vektoreina seuraavasti:

...