函数指针

/*********************************************/
/*作者: Lucky
/*时间: 2007-7-12
/*功能: 测试函数指针的应用
/*********************************************/
#include <stdio.h>
typedef struct TEST
{
    //测试指针函数的应用
    void (*ptr_v[2]) (void);
 void  (*ptr_v2) (void);
 void  *(*ptr_v3) (void);
 void  (*(*ptr_v4)) (void);
}TEST_PTRV;

void vFunc1(void);
void vFunc2(void);
void vFunc3(void);
void vProvideReturn(void);
void *ReturnFunc(void (*p_Func)(void)); //返回一个函数指针
int main(void)
{
 TEST_PTRV PTR;
 void (*p_TmepFunc) (void);

    puts("void (*ptr_v[2]) (void);");
 PTR.ptr_v[0] = vFunc1;
 PTR.ptr_v[1] = vFunc2;
 (*PTR.ptr_v[0]) ();
 (*PTR.ptr_v[1]) ();

    puts("void  (* *ptr_v3) (void);");
 PTR.ptr_v3 = vFunc1;
 (*PTR.ptr_v3)();

 puts("/nvoid *ReturnFunc(void (*p_Func)(void))");
    p_TmepFunc = ReturnFunc(vProvideReturn);
    (*p_TmepFunc)();
// PTR.(ptr_v3+1) = vFunc2;
// (*PTR.ptr_v[0]) ();
// (*PTR.ptr_v[1]) ();
  //  PTR.addr_v = vFunc3;
    p_TmepFunc = ReturnFunc(vProvideReturn);
 return 0;
}

void vFunc1(void)
{
 puts("void vFunc1(void)");
}

void vFunc2(void)
{
 puts("void vFunc2(void)");
}

void vFunc3(void)
{
 puts("void vFunc3(void)");
}

void vProvideReturn(void)
{
 puts("Succeed return Function Pointer!");
}
void *ReturnFunc(void (*p_Func)(void)) //返回一个函数指针
{
 void (*p_TmepFunc) (void);
    p_TmepFunc = p_Func;
 return p_TmepFunc;

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
2022-12-22 16:33
重庆工商大学_2024
点赞 评论 收藏
转发
头像
2022-12-02 15:29
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-27 14:35
天津大学_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议