【发布时间】:2021-01-26 23:45:16
【问题描述】:
我需要创建一个包含 1 个 int、2 个 char、1 个 float 的结构和(我写了练习中的行):“用于读取数据的函数的两个指针void (read*)(student*st) 和一个用于显示数据的指针void (write*)(student*st) "
我只是不明白这句话。我知道 C 中指向函数的指针的语法。我不明白 read* 和 write* 是什么。如果是*read 和*write,那么in 是函数的指针变量名,(student*st) 是参数,是结构体的指针。
此外,在练习中,该程序似乎是关于 ANSI C 的,但它还要求我使用 cin 读取学生人数并使用 new 为一组学生分配内存。
我就是这样开始的。
struct student {
int idNumber;
char name[100];
char gender[20];
float mark;
??
};
【问题讨论】:
-
"我不明白
read*和write*是什么" - 恐怕这是无效的语法。指针应类似于void (*read)(student*)。 -
void (read*)(student*st)正如你所说的,这似乎是一个错字。应该是void (*read)(student*st)。并且被要求在 C 代码中使用cin是没有意义的。询问你的导师。 -
这里批准的答案中有一个很好的解释:stackoverflow.com/questions/840501/…
-
是的,您的说明似乎有错字。我建议你问你的导师或助教澄清。
-
如果练习显示
void (read*)(student*st),它有一个错误。那不是合法的 C 语法。正如您实际上或多或少在问题中所写,正确的语法是void (*read)(student*st)