将结构用作函数类型时意味着什么

What does it mean when a structure is used as a function type

所以我们开始用 C 编写结构,并获得了一些使用结构和函数的示例。 大多数是 void 函数,但有些函数具有结构名称,而不是数据类型。例如:

Student* ucitajStudenteTxt(int* koliko)

其中 "Student" 是先前声明的结构。

我只是想知道这种类型的声明是什么意思,它有什么好处,因为我在演示文稿或网上找不到答案。

假设 Student 是一个有效的类型,那么 Student * 就是 "pointer to Student" 的类型。

所以它也是一种类型,只是不是 C 的标准类型之一。

Student *用于return指向类型Student的指针。如果我们简单地使用 Student,它 return 就是类型 Student 本身。 您在评论中询问使用指针变量而不是类型本身的目的是什么。指针有很多用例。例如,如果要修改作为参数传递给函数的变量(按地址传递),则必须使用指针变量。 在您没有程序的完整上下文的情况下,我们不能说为什么使用指针。

有时处理指针变量要容易得多。例如,在处理链表数据结构时,为每个节点使用类型本身的指针更容易处理。