【发布时间】:2021-10-16 13:32:48
【问题描述】:
好的,所以我有一个之前编写的以下代码。这是针对我正在做的一项作业,我无法更改这些代码行:
typedef struct
{
int number;
float average;
} B_PLAYER;
typedef struct
{
char n[20];
B_PLAYER k[12];
} TEAM;
还有两个声明的函数,如下所示:
int result (TEAM t1, TEAM t2);
↑暂时排除这个函数,这会计算匹配结果
TEAM* createTeam();
我必须编写的代码应该模拟一场篮球比赛(总共 32 支球队的多场比赛)。因为作业太长(而且有点复杂),所以我会尽量简短。所以上面代码的第一部分定义了名为 B_PLAYER 和 TEAM 的类型,我理解。但我的问题是,为什么类型名称 TEAM 用作函数返回类型,指向该类型名称的指针是什么意思(do):
TEAM* createTeam(); 这个
请记住,此函数需要创建篮球队的地址并返回相同的地址。它必须从 main() 函数(标准输入)读取值。所有 12 个位置和所有套件编号都必须填写。
我很高兴收到一些反馈。如果您需要更多信息,我会写下整个作业。 :)
【问题讨论】:
-
why is the type name TEAM used as a function name它不用作函数名 - 它是函数的返回类型。你的函数名称是createTeam,它返回类型TEAM*。您应该搜索有关 C 中指针的教程(提示 - 您的函数应该在某个时候调用malloc来为返回的值分配内存 - 您应该在程序的另一个位置调用free) -
这听起来像是应该在你的课程材料中解释的东西。你问老师了吗?
-
TEAM* createTeam();简单地表示createTeam()是一个函数,它返回一个指向TEAM类型对象的指针 -
我认为您的问题中有错字。
PLAYER k[12];应该是B_PLAYER k[12];? -
@IanAbbot 是的,你是对的。我的问题中有一个错字。谢谢。
标签: c function pointers structure