void (*stu)(struct student*)这样表示什么意思啊,为什么会这样表示啊,小弟刚学C 求讲解.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 03:21:36
void (*stu)(struct student*)这样表示什么意思啊,为什么会这样表示啊,小弟刚学C 求讲解.

void (*stu)(struct student*)这样表示什么意思啊,为什么会这样表示啊,小弟刚学C 求讲解.
void (*stu)(struct student*)这样表示什么意思啊,为什么会这样表示啊,小弟刚学C 求讲解.

void (*stu)(struct student*)这样表示什么意思啊,为什么会这样表示啊,小弟刚学C 求讲解.
这个是函数指针的用法
stu是一个指向函数的指针,
函数的参数为struct student*,也就是student结构体的指针
函数的返回值为void
stu在声明后需要赋值函数地址
例如这样:
void fstu (struct student* pstu)
{
...
}
void fstu2 (struct student* pstu)
{
...
}
void main()
{
stuct student s_stu;
stu = fstu; // 对函数指针进行赋值,stu指向fstu函数
stu(&s_stu); // 相当于调用fstu(&s_stu)
stu = fstu2; // 对函数指针进行赋值,stu指向fstu2函数
stu(&s_stu); // 相当于调用fstu2(&s_stu)
}
如果还不明白看参考资料中的文章吧