zoukankan      html  css  js  c++  java
  • typedef特殊用法:typedef void* (*fun)(void*)

    1. typedef用来声明一个别名,typedef后面的语法,是一个声明。例如: typedef int PARA;

    int与PARA是一个整体!就象int i:声明一样是一个整体声明,只不过int i定义了一个变量,而typedef定义了一个别名。

    1. typedef int a[10];
      typedef void (*p)(void);

    他们会以为a[10]是int的别名,(*p)(void)是void的别名,但这样的别名看起来又似乎不是合法的名字,于是陷入困惑之中。实际上,上面的语句把a声明为具有10个int元素的数组的类型别名,p是一种函数指针的类型别名。

    1. 虽然在功能上,typedef可以看作一个跟int PARA分离的动作,但语法上typedef属于存储类声明说明符,因此严格来说,typedef int PARA整个是一个完整的声明。
      定义一个函数指针类型。
      比如原函数是 void func(void);
      那么定义的函数指针类型就是typedef void (*Fun)(void);
      然后用此类型生成一个指向函数的指针: Fun func1;
      当func1获取函数地址之后,那么你就可以向调用原函数那样来使用这个函数指针: func1(void);
  • 相关阅读:
    用email实现邮件模板
    jquery.transform
    学习 表单验证插件validate
    倒计时
    时间
    听慕课学自定义滚动条
    css3动画、边框、投影知识
    sql查询字段值只为汉字(桃)
    sql按照汉字首字母顺序排序(桃)
    poi导出excel文件(桃)
  • 原文地址:https://www.cnblogs.com/sggggr/p/15527175.html
Copyright © 2011-2022 走看看