函数指针数组实现test用例

#include<stdio.h>


typedef void (*demo_test_func)(void);

int guTestFlag = 0;

/*****************************/
void usleep(int countTime);
void demo_call_test1_msg(void);
void demo_call_test1_msg(void);
void check_test_flag(void);

/*****************************/
void demo_call_test1_msg(void){
	
	guTestFlag = 1;	
	printf("send test1 message!\n");	
}

void demo_call_test2_msg(void){
	
	guTestFlag = 2;	
	printf("send test2 message!\n");
	
}

void demo_test1_pro(void){
	
	guTestFlag = 0;	
	printf("demo test1!\n");	
}

void demo_test2_pro(void){
	
	guTestFlag = 0;	
	printf("demo test1!\n");	
}


void check_test_flag(void){
	
	switch(guTestFlag){
		case 1:
			demo_test1_pro();
			break;
		case 2:
			demo_test1_pro();
			break;
		default:
			printf("error flag!\n");
			break;		
	}
}

demo_test_func TEST_FUNC_TABLE[2]={
									demo_call_test1_msg,
									demo_call_test2_msg
									};


void test_schd(void){
	
	int test_flag = 0;
	
	demo_test_func *demo_test_func_ptr;	
	demo_test_func_ptr = &TEST_FUNC_TABLE[0];
	
	(*demo_test_func_ptr)();
	
	check_test_flag();
	
	demo_test_func_ptr++;
	(*demo_test_func_ptr)();
	
	printf("flag = %d\n",guTestFlag);
			
}


int main(int argc,char **argv){
	
	test_schd();
	
	return 0;
}

void usleep(int countTime){
	
	int i = 0;	
	for(i = 0;i < countTime;i++){
	};	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值