C Prog.:结构作为函数的参数?

2 c struct

我正在尝试创建结构"出生日期",以及将为结构赋值的函数,我想知道可能以某种方式这样做:

(PS.对于第2行和第23行,我经常收到错误"参数列表语法错误".)

#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));
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*lla 12

我认为你得到的dob_st是因为定义只是局部的main- 它没有在这个方法之外定义.该void input (dob_st *);方法无法知道dob_st它是什么,并且upis稍后会调用它,而不是input,这可能是另一个错误.