C程序。 : Structure as argument of function?

标签 c struct

我正在尝试创建结构“出生日期”,以及将值分配给结构的函数,我想知道是否可以像这样以某种方式做到这一点:

(PS。我经常收到第 2 行和第 23 行的错误“Argument list syntax error”。)

#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));
}

最佳答案

我认为您得到这个是因为 dob_st 的定义仅在 main 本地——它没有在这个方法之外定义。 void input (dob_st *); 方法无法知道dob_st 是什么,后面调用的是upis,不是input,这可能是另一个错误。

关于C程序。 : Structure as argument of function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/959886/

相关文章:

c++ - 如何读取文件中的数据并创建结构 vector ?

c++ - 初始化一个结构,其成员是另一个结构的数组

c++ - 没有可用于结构 vector 的成员

c++ - 将结构指针传递给函数 C++

c++ - 在不同函数中更改结构中的值

c - 分析 cublas 应用程序

c - 从函数返回的奇怪 int

计算简单排序程序中的比较和交换

c - 检查输入的值是否为整数

c - 如何使用 C 写入 linux 中特定路径的文件