网站建设后台程序用什么语言,网站设计开发网站,杭州专业网站优化公司,wordpress 文章截取文章目录[TOC](文章目录)前言概述函数指针定义#xff1a;使用#xff1a;回调函数指针函数前言
今天学一下函数指针 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
概述
函数指针#xff1a;是一个指向函数的指针#xff0c;在内存空间中存放的…文章目录[TOC](文章目录)前言概述函数指针定义使用回调函数指针函数
前言
今天学一下函数指针 提示以下是本篇文章正文内容下面案例可供参考
概述
函数指针是一个指向函数的指针在内存空间中存放的是函数的地址。 parr是一个指向数组的指针它存放的是数组的地址 数组指针–存放数组地址的指针 数组名–得到数组地址 函数指针–存放函数地址的指针 函数名–得到函数地址
函数指针
定义
函数指针的本质是一个指针该指针的地址指向了一个函数所以它是指向函数的指针。 声明形式
ret (*p)(args,....)函数指针函数的返回值类型*指针名函数的参数列表类型
使用 int ret (*parr)(5,5);函数名函数名“ int (*parr)(int, int) add; ” “int (*parr)(int, int) add;”“ int ret (*parr)(5,5);” “int ret parr(5,5); ” int ret add(5,5)”对于int ret (*parr)(5,5)来说*是没有意义的。有没有结果都一样
回调函数
回调函数就是一个通过指针函数调用的函数将其函数指针作为参数传给另一个函数。回调函数是在特定的事件发生时由另外一方调用的。
指针函数
指针函数的本质是一个函数他的返回值是一个指针。 声明形式
ret *fun(args,....)在使用指针函数的时候需要避免返回局部变量指针的情况 一般的变量是存储在栈区的当函数结束栈区的变量就会被释放如果我们在函数内部定义一个变量在使用一个指针去指向这个变量当函数调用结束时这个变量可能就会被释放九三返回了该地址的指针也不一定能得到正确的值。 如果我们使用static修饰变量上面的static sum那么该变量就变为了静态变量静态变量是存放在数据段的他的生命周期存在于整个程序运行期间。只要程序没有结束该变量就一直存在。 还有一种解决方法是使用全局变量。因为全局变量也是存放于数据段的。