函数输出的两种形式 :1.返回值 2. 实参(结构体妙用续)

函数输出的两种形式 :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();

 

 

 

 

 

 

你可能感兴趣的:(函数输出的两种形式 :1.返回值 2. 实参(结构体妙用续))