c语言函数指针的多种赋值方法

c语言函数指针的多种赋值方法c语言函数指针的多种赋值方法提供框架模型,具体代码缩略,适合功能模块包装,例子程序为c语言基于TCP的图片发送1、mdu_TcpClient.h中:定义结构体typedefstruct{int(*init)(char*szIpaddr,char*wTcpPort);//初始化tcp客…

 

 c语言函数指针用法【多种赋值方法】

提供框架模型,具体代码缩略,适合功能模块包装,例子程序为c语言基于TCP的图片发送

1、mdu_TcpClient.h中:

定义结构体

typedef struct
{
      int  (*init)(char *szIpaddr, char *wTcpPort);                             //初始化tcp客户端
                                                                                //发送数据
      int  (*sendData)(unsigned int ntskId, unsigned int nsize, long long ntimestamp, char *pStream);    
      void (*close)(void);
      
}MDU_TCPCLIENT_ARG_T;

 

 2、mdu_TcpClient.c中:

各个子函数的定义,具体内容缩略

int initiation(char *szIpaddr, char *wTcpPort)
{
     ...
}
int sendPack(unsigned int ntskId,unsigned int nsize, long long ntimestamp, char *pStream)
{
     ...
}
void close_tcpclient(void)
{
     ...
}

结构体函数指针赋值

MDU_TCPCLIENT_ARG_T mdu_tcpclient_arg = {
           .init            = initiation,
           .sendData        = sendPack,
           .close           = close_tcpclient,
};

或者如下

MDU_TCPCLIENT_ARG_T mdu_tcpclient_arg = {
            initiation,
            sendPack,
            close_tcpclient,
};

3、client_main.c中

主函数调用

int main(int argc, char *argv[])
{
       ...
      //函数指针调用
      if(mdu_tcpclient_arg.sendData(12,1024,1230*1230, PicName)!=1)
      {
          ...
      }
       ...
  ...
}

 

END

 

今天的文章c语言函数指针的多种赋值方法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7657.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注