函数输出的两种形式 :1.返回值 2. 实参
#include "stdio.h"
typedef struct
{
void (*init)();
}Game;
void ginit()
{
printf("init Game");
}
void start(Game *ptr)//实参向外输出
{
(*ptr).init=ginit;
}
void main(void)
{
Game game;
start(&game);
game.init();
getch();
}
现在以用返回值的方式修改 start(),使其和上面函数效果一样。
Game start(void)
{
Game a1,a2;
a2.init=ginit;
a1=a2;
return a1;//利用返回值输出
}
主函数写成
void main(void)
{
Game game;
game=start();
game.init();
getch();
}