Prikaz jedne poruke
Stara 23.7.2016, 19:46   #4
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Pitanje u vezi funkcije za dodavanje elemenata u jednostruko povezanu listu

Imam pitanje u vezi sledećeg koda:

Kod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct el
{
    int kljuc;
    char vrednost[10];
    struct el *sledeci;
}Elem;

Elem *lista=NULL;

void Dodaj(Elem *e, int k, char *v)
{
    Elem *novi=(Elem*)malloc(sizeof(Elem));
    novi->kljuc=k;
    strcpy(novi->vrednost, v);
    novi->sledeci=lista;
    lista=novi;
}

void Pronadji(Elem *e, int k)
{
    if(e==NULL)
    {
        printf("Ne postoji element sa kljucem %d.\n", k);
        return;
    }
    else if(k==e->kljuc)
    {
        printf("Vrednost sa kljucem %d je: %s\n", k, e->vrednost);
        return;
    }
    else
        Pronadji(e->sledeci, k);
}

void Odstampaj(Elem *e)
{
    if(e==NULL)
    {
        printf("---Kraj liste---\n");
        return;
    }
    printf("%d  %s\n", e->kljuc, e->vrednost);
    Odstampaj(e->sledeci);
}

void OslobodiMemoriju(Elem *e)
{
    if(e==NULL)
        return;
    Elem *n=e->sledeci;
    free(e);
    OslobodiMemoriju(n);
}


int main()
{
    Dodaj(lista, 3, "tri");
    Dodaj(lista, 2, "dva");
    Dodaj(lista, 6, "sest");
    Dodaj(lista, 4, "cetiri");
    Odstampaj(lista);

    Pronadji(lista, 6);
    Pronadji(lista, 12);

    OslobodiMemoriju(lista);

    return 0;
}
Pošto se prvi argument funkcije 'Dodaj' ne koristi, da li ta funkcija može bez tog argumenta, tj. da ima samo druga dva argumenta? Ispitao sam i to, i program daje isti rezultat (sa već adtim podacima u 'main' funkciji), pa mislim da je odgovor potvrdan. Da li sam nešto prevideo?

Poslednja ispravka: NEWSWEETTOFFEE (23.7.2016 u 19:54)
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke