typedef定义函数类型
来源:互联网 发布:软件设计师2016下半年 编辑:程序博客网 时间:2024/05/18 01:29
本文转载于:http://www.2cto.com/kf/201206/136745.html
在我常规理解里,一般定义一个函数类型都是这样定义的:- typedef void (*sighandler_t)(int);
- sighandler_t signal(int signum, sighandler_t handler);
首先我们要先明白一个概念,函数名是不是指针?也就是说一个函数名可不可以代表一个地址?以及什么是函数类型?
经过查找,函数名就是一个指针,但是意义是不一样的,如同于数组a[],a和&a其实都是一样的。当调用一个函数时,我们都是直接用函数名调用,或者说通过指针调用。
函数类型,在我理解,就是定义了一个函数返回值类型以及参数类型。
那么:
1.tpyedef自定义函数指针类型:- #include <stdio.h>
- typedef int (*fp_t)(char c);
- int f0(char c) { printf("f0, c = %c\n", c); return 0;}
- int f1(char c) { printf("f1, c = %c\n", c); return 1;}
- int main()
- {
- int ret;
- fp_t fp;
- fp = f0;
- ret = fp('a');
- fp = f1;
- ret = fp('x');
- return 0;
- }
f0, c = a
f1, c = x
2.typedef自定义函数类型:
- #include <stdio.h>
- typedef int fp_t(char c);
- int f0(char c) { printf("f0, c = %c\n", c); return 0;}
- int f1(char c) { printf("f1, c = %c\n", c); return 1;}
- int main()
- {
- int ret;
- fp_t* fp;
- fp = f0;
- ret = fp('a');
- fp = f1;
- ret = fp('x');
- return 0;
- }
f0, c = a
f1, c = x
0 0
- typedef 定义函数类型
- typedef 定义函数类型
- typedef定义函数类型
- typedef定义函数类型
- typedef定义函数类型
- typedef定义函数类型
- typedef定义函数类型
- typedef定义函数类型分析
- 用typedef定义函数类型
- typedef和函数类型的定义
- 用typedef定义函数指针类型
- Nginx阅读: typedef定义函数指针类型
- C++------------typedef 函数指针类型定义
- (C++)用typedef定义函数指针类型
- 利用typedef定义函数指针类型
- typedef 定义函数类型()转
- typedef定义函数类型的用法
- C++用typedef定义函数指针类型typedef可以用于定义函数指针类型
- Android 获取播放视频的相关 内容, 分辨率, 方向,作者信息
- hdoj Big Number 1212 (大数取余) 水
- iOS在控制器中绘制圆形图像,二维码
- 23种设计模式C++实例之概述
- ARC下会导致内存泄漏的情况
- typedef定义函数类型
- 使用get请求下载文件的时候,由于地址栏用的是iso-8859-1编码格式产生乱码,得到不正确的值
- 自己动手“敲”微软100题系列二
- Java字符编码根本原理
- C++入门(2):操作符和控制结构
- 命令行选项
- Ugly Number
- C# string
- Objective-c语言_面向对象(继承)