C Prog .: struktur som argument av funksjon?

stemmer
2

Jeg prøver å opprette struktur Fødselsdato og funksjon som vil gi verdier til strukturen, og jeg lurer på er det mulig å gjøre det liksom som dette:

(PS. Jeg er stadig får feilmelding Argumentliste syntax error, for andre og 23. linjer.)

#include <stdio.h>
void input (dob_st *);
int main ()
{
    typedef struct
    {
        int year;
        int month;
        int day;
    }
    dob_st;

    dob_st date;
    dob_st *p;
    p=&date;
    input (*p);
    printf(%02i.,p->day);
    printf(%02i.,p->month);
    printf(%i.,p->year);

    return 0;
}
void upis (dob_st *p)
{
    printf (Date of birth:\nDay?\n);
    scanf (%i,&(p->day));
    printf (Month?\n);
    scanf (%i,&(p->month));
    printf (Year?\n);
    scanf (%i,&(p->year));
}
Publisert på 06/06/2009 klokken 15:06
kilden bruker
På andre språk...                            


5 svar

stemmer
12

Jeg tror du får dette fordi definisjonen av dob_ster lokal bare main- det er ikke definert utenfor denne metoden. Den void input (dob_st *);metoden har ingen måte å vite hva dob_ster, og det heter upissenere, ikke input, som sannsynligvis er en annen feil.

Svarte 06/06/2009 kl. 15:10
kilden bruker

stemmer
3

Noen ting: Du bør erklære din struktur utenfor den viktigste funksjonen, og før prototypen på inngangsfunksjon.

Du bør også gå å legge en peker til en dob_st struktur og ikke en struktur i seg selv: De mulige koden nå som

dob_st date;
dob_st *p;
p=&date;
input (*p);

bør være

dob_st date;
input (&date);

og resultatet blir senere på dato direkte.

PD: Er upis funksjonen ment å være en inngangsfunksjon?

Svarte 06/06/2009 kl. 15:13
kilden bruker

stemmer
0

I standard C, skriver du "struct dob_st * p" i stedet for bare "dob_st * p". Pass også på at du erklære struct dob_st før du begynner å bruke den.

Svarte 06/06/2009 kl. 23:05
kilden bruker

stemmer
0

p er en peker, så argumentet må være "inngang (p)" i stedet for "inuput (* p)". Bruke * p deferenences pekeren, og det er ikke nødvendig i dette tilfellet.

Svarte 06/06/2009 kl. 15:11
kilden bruker

stemmer
0

Du endrer navnet på funksjonen fra 'inngang' til 'upis'.

Du må også definere dob_st utenfor main () -funksjonen.

Svarte 06/06/2009 kl. 15:10
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more