函数与指针
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数与指针相关的知识,希望对你有一定的参考价值。
1.C语言中函数有自己特定的类型
2.函数的类型由返回值,参数类型和参数个数共同决定
3.C语言中通过typedef为函数类型重命名
4.函数指针用于指向一个函数
5.函数名是执行函数体的入口地址
6.可通过函数类型定义函数指针:Func Type* pointer
7.也可以直接定义:type (*pointer)(parameter list) pointer为函数指针变量名,type为指向函数的返回值类型,paramter list为指向函数的参数类型列表
#include <stdio.h> typedef int(FUNC)(int); int test(int i) { return i * i; } void f() { printf("Call f()...\n"); } int main() { FUNC* pt = test;//函数指针赋值 void(*pf)() = &f; pf(); (*pf)(); printf("Function pointer call: %d\n", pt(2)); }
函数和数组指针的定义区别为:数组指针用&取出地址,而函数用&和不用都表示函数的地址。
回调函数
1.回调函数是利用函数指针实现的一种调用机制
2.回调机制原理:调用者不知道具体事件发生的时候需要调用的具体函数,被调函数不知道何时被调用,只知道被调用后需要完成的任务,当具体事件发生时,调用者通过函数指针调用具体函数
3.回调机制的将调用者和被调函数分开,两者互不依赖。
指针阅读技巧解析
1.从最里层的圆括号中未定义的标识符看起
2.首先往右看,再往左看
3.当遇到圆括号或者方括号时可以确定部分类型,并调转方向
4.重复2.3步骤,直到阅读结束、
以上是关于函数与指针的主要内容,如果未能解决你的问题,请参考以下文章