Jesen zima 2007
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

jesen/zima 2007 PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

Uvod u programiranje I. jesen/zima 2007. Strukture. Grupni tip podataka – kolekcija (grupa) elemenata posmatrana kao celina Nizovi – grupni tip podataka čiji elementi imaju isti tip Strukture – grupni tip podataka čiji elementi mogu biti različitog tipa. Strukture.

Download Presentation

jesen/zima 2007

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Jesen zima 2007

Uvod u programiranje I

jesen/zima 2007


Strukture

Strukture

  • Grupni tip podataka – kolekcija (grupa) elemenata posmatrana kao celina

  • Nizovi – grupni tip podataka čiji elementi imaju isti tip

  • Strukture – grupni tip podataka čiji elementi mogu biti različitog tipa

Uvod u programiranje I


Strukture1

Strukture

  • Primer: podaci o studentima

    • Ime i prezime

    • Datum rođenja

    • Godina studija

    • Prosečna ocena

Uvod u programiranje I


Strukture2

Strukture

  • Primer: podaci o auto delovima

    • Naziv

    • Šifra

    • Cena

    • Količina na lageru

Uvod u programiranje I


Strukture3

Strukture

  • Primer: podaci o auto delovima

    struct auto_deo

    {

    char naziv[80];

    char sifra[10];

    int kol;

    floatcena;

    };

Uvod u programiranje I


Strukture4

Strukture

  • naziv, sifra, cena, kol– članovi (polja) strukture

  • Deklaracija strukture samo opisuje strukturu i ne dovodi do rezervisanja memorije

  • Rezervisanje memorije se obavlja pri definisanju promenljivih tipa struct auto_deo

Uvod u programiranje I


Strukture5

Strukture

  • struct auto_deo deo1, deo2;

  • struct auto_deo {

    char naziv[80];

    char sifra[10];

    int kol;

    floatcena;

    } deo1, deo2;

Uvod u programiranje I


Strukture6

deo2

deo1

naziv

naziv

sifra

sifra

kol

kol

cena

cena

Strukture

Uvod u programiranje I


Strukture7

Strukture

  • Deklaracija strukture

    struct ime-strukture

    {

    tip1 polje1;

    tip2 polje2;

    ...

    tipn poljen;

    };

Uvod u programiranje I


Strukture8

Strukture

  • Polja strukture mogu biti bilo kod tipa osim funkcija

    • Polja strukture mogu biti pokazivači

    • Polja jedne strukture mogu biti neke druge strukture (ali ne iste strukture)

Uvod u programiranje I


Strukture9

Strukture

  • Primer: podaci o radnicima

    struct datum {

    int dan;

    int mes;

    int god;

    };

    struct radnik {

    char imeiprezime[50];

    struct datum datum_rodjenja;

    struct datum datum_zaposlenja;

    };

Uvod u programiranje I


Strukture10

Strukture

  • struct radnik zaposleni;

zaposleni

imeiprezime

dan

datum_rodjenja

mes

god

dan

datum_zaposlenja

mes

god

Uvod u programiranje I


Strukture11

Strukture

  • Korišćenje strukture

    • Pojedina polja strukture su obične promenljive odgovarajućeg tipa

    • Pojedina polja strukture se mogu koristiti bilo gde se promenljiva odgovarajućeg tipa može koristiti

    • Pojedina polja strukture se koriste upotrebom tačka-notacije

Uvod u programiranje I


Strukture12

Strukture

  • Primer:

    struct auto_deo deo1, deo2;

    ...

    deo1.naziv = ”Karburator”;

    deo1.sifra = ”SJL-123”;

    deo1.kol = 23;

    deo1.cena = 99.9;

    deo2.naziv[0] = ’T’;

    scanf(”%d”, &deo2.kol);

    deo2.cena = 17.5;

Uvod u programiranje I


Strukture13

Strukture

  • Primer:

    struct radnik zaposleni;

    ...

    printf(”Ime i prezime: %s”, zaposleni.imeiprezime);

    zaposleni.datum_rodjenja.dan = 13;

    zaposleni.datum_rodjenja.mes = 12;

    zaposleni.datum_rodjenja.god = 1960;

    zaposleni.datum_zaposlenja.dan = 1;

    zaposleni.datum_zaposlenja.mes = 1;

    zaposleni.datum_zaposlenja.god = 2000;

Uvod u programiranje I


Strukture14

Strukture

  • Indirektno korišćenje struktura

    struct datum d;

    struct datum *p;

    ...

    p = &d;

    (*p).dan = 11; /* d.dan = 11; */

    (*p).mes = 2; /* d.mes = 2; */

    (*p).god = 2007; /* d.god = 2007; */

    /* ekvivalentno */

    p -> dan = 11;

    p -> mes = 2;

    p -> god = 2007;

Uvod u programiranje I


Strukture15

deo1

deo2

naziv

”Volan”

naziv

”ABC-000”

sifra

sifra

10

kol

kol

195.0

cena

cena

Strukture

  • Inicijalizacija struktura

    struct auto_deo deo1={”Volan”, ”ABC-000”, 10, 195.9}, deo2;

Uvod u programiranje I


Strukture16

deo1

deo2

naziv

naziv

”Volan”

”Volan”

”ABC-000”

”ABC-000”

sifra

sifra

10

10

kol

kol

195.0

195.0

cena

cena

Strukture

  • Kopiranje struktura

    struct auto_deo deo1={”Volan”, ”ABC-000”, 10, 195.9}, deo2;

    ...

    deo2 = deo1;

Uvod u programiranje I


Strukture17

Strukture

  • Strukture mogu biti elementi nizova

    struct auto_deo lager[500];

lager

0

naziv

1

2

sifra

. . .

kol

cena

498

499

Uvod u programiranje I


Strukture18

Strukture

  • Strukture mogu biti elementi nizova

    struct auto_deo lager[500];

    ...

    lager[0].naziv = ”Auspuh”;

    lager[0].sifra = ”AAA-111”;

    lager[0].kol = 5;

    lager[0].cena = 299.9;

    ...

    lager[10].naziv[0] = ’A’;

Uvod u programiranje I


Strukture19

Strukture

  • Struktura ne može sadržati samu sebe, ali može pokazivače

    struct auto_deo

    {

    char naziv[80];

    char sifra[10];

    int kol;

    floatcena;

    struct auto_deo *sled_deo;

    };

Uvod u programiranje I


Strukture20

Strukture

  • struct auto_deo deo1, deo2;

deo1

deo2

naziv

naziv

sifra

sifra

kol

kol

cena

cena

sled_deo

sled_deo

Uvod u programiranje I


Strukture21

deo1

deo2

naziv

naziv

sifra

sifra

kol

kol

cena

cena

sled_deo

sled_deo

Strukture

  • deo1.sled_deo = &deo2;

    deo2.sled_deo = NULL;

Uvod u programiranje I


  • Login