函数指针与函数类型
来源:互联网 发布:阿里妈妈淘宝联盟推广 编辑:程序博客网 时间:2024/05/21 04:20
在C语言中,定义一个指针变量必须确定指针所指向的类型,如果要让指针指向一个函数,首先就得定义一个函数类型或者函数指针类型,因为C语言只提供了像int,char等基本数据类型,由于函数可以拥有不同的原型,所以我们必须自己定义函数类型或者函数的指针类型。
所以使用函数指针的过程应该是这样:
1.定义一个函数类型或者函数指针类型,这里的定义的函数类型假如跟printf函数的类型是一样的:
typedef int tFunc(const char *format, ...);
typedef int (*pFunc)(const char *format, ...);
//因为*运算符是从右往左结合,如果不加括号就是重定义了了一个返回值为int *的pFunc函数类型
//实际实况就是这样:
//typedef (int *) pFunc(const char *format, ...);
//跟上面一条语句的功能一样,只是重定义一个返回值为int *的函数类型。
2.用新的函数类型或者函数指针类型定义一个指针变量,方法有两种:
int main()
{
//第一种
tFunc *p = printf;
//第二种
pFunc q = printf;
//对指针初始化之后就可以使用了
p("hello, it is my first csdn blog!\n");
q("hello, it is my first csdn blog!\n");
return 0;
}
运行结果:
阅读全文
1 0
- 函数指针与函数类型
- 函数指针类型与decltype
- 工作总结3-typedef中的函数类型与函数指针类型
- 指针(下)--指针类型与函数指针
- 虚函数表指针与类型
- 函数返回指针类型与函数的可重入性
- 函数指针类型
- 函数指针类型
- 定义函数指针类型
- 指针类型的函数
- Swift函数 - 指针类型
- 函数与函数指针
- 函数与函数指针
- 函数指针 与 函数
- 指针函数与函数指针
- 指针函数与函数指针
- 函数指针与指针函数
- 指针函数与函数指针
- mysql安装以及使用
- 516. Longest Palindromic Subsequence
- 如何理解es6语法的,对象前面加三个点(...) 对象的解构赋值和扩展
- mybatis精通之路之TypeHandler初探
- flex布局
- 函数指针与函数类型
- 深入理解mybatis原理(三) MyBatis的一级缓存实现详解
- 监控系统Nagios系列(四) 状态类型(soft & hard)
- Java-Socket通信
- 【备忘】科卡在线Linux高级应用视频教程(全套17集)视频下载
- openCV svm分类 基础
- 关联账户
- ActiveMq--Pub/Sub的使用
- hive原理与源码分析-物理执行计划与执行引擎(六)