当前位置:  技术问答>linux和unix

关于typedef的问题

    来源: 互联网  发布时间:2017-01-02

    本文导语:  今天在网上看到这么三行代码,查了很多资料,但还是没看懂 typedef int (*PF) (const char *, const char *); PF Register(PF pf); int (*Register (int (*pf)(const char *, const char *)))(const char *, const char *); 这一行和上面一...

今天在网上看到这么三行代码,查了很多资料,但还是没看懂


typedef int (*PF) (const char *, const char *);


PF Register(PF pf);

int (*Register (int (*pf)(const char *, const char *)))(const char *, const char *); 这一行和上面一行的作用是等价的,怎么看的啊

指向函数的指针的内容我基本了解

|

其实是等价的,如果前面加上typedef,所谓的等价是指对Register的声明是等价,
第一种声明是前两句,第二种声明是最后一句

函数指针并不是那么难以理解
比如 typedef orgType newType
是用newType 替代 orgType
而 typedef int (*PF) (const char *, const char *); 我们可以看作 PF 代替了应该在 PF位置的那个东西,其实就是一个函数指针。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef'
  • typedef的一点疑惑
  • typedef void SigHandler (); ??? 帮忙
  • 关于:typedef unsigned char
  • typedef_struct与struct之间的区别
  • typedef 定义一个类型出错
  • 用typedef定义类型的总结分析
  • 求助:linux下typedef struct {unsigned long long pmd;}pmd_t;中有两个long,是什么意思?
  • 用typedef定义类型详细总结
  • C语言中#define与typedef的互换细节详解
  • typedef signed long long Int64; 这样的声明为什么在windows VC下不能通过?
  • 为什么我在头文件time.h里找不到time_t的定义呢?只有这个定义typedef __time_t time_t;
  • 如何解决expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
  • 用C写的OO模块,碰到编译器抱怨符号多重typedef,怎么解决呢?
  • 1. 请问linux下可以使用“typedef list<对象*> 对象列表名 ”和iterator吗?
  • C++中typedef 及其与struct的结合使用
  • 基于typedef的用法详解
  • 深入解析C语言中typedef的四个用途
  • typedef和#define的用法以及区别
  • 关于C/C++中typedef的定义与用法总结


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3