必威体育Betway必威体育官网
当前位置:首页 > IT技术

函数指针(function pointer)

时间:2019-11-03 06:45:45来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

函数指针

指针,指的是地址。对于函数指针,首先了解函数的地址。


函数的地址

  • 函数具有物理内存地址;函数的地址是函数的进入点。
  • 函数的函数名就是指针(类似数组),函数的调用可以通过函数名,也可以通过指向函数的指针进行使用。
  • 函数指针能够传递,不过必须类型相同!

函数指针

  • 定义形式: 类型 (* 指针变量名)(参数列表)

    • 类型代表的是函数返回值的类型
  • 关键在于:指向哪?(地址,函数名)如何调用?(就像正常函数调用)前提(类型完全相同)
//从其他博客搬运过来的
#include <stdio.h>

#define  GET_MAX    0
#define  GET_MIN    1

int get_max(int i,int j)
{
    return i>j?i:j;
}

int get_min(int i,int j)
{
    return i>j?j:i;
}

int compare(int i,int j,int flag)
{
    int ret;

    //这里定义了一个函数指针,就可以根据传入的flag,灵活地决定其是指向求大数或求小数的函数
    //便于方便灵活地调用各类函数
    int (*p)(int,int);

    if(flag == GET_MAX)
        p = get_max;
    else
        p = get_min;

    ret = p(i,j);

    return ret;
}

int main()
{
    int i = 5,j = 10,ret;

    ret = compare(i,j,GET_MAX);
    printf("The MAX is %d\n",ret);

    ret = compare(i,j,GET_MIN);
    printf("The MIN is %d\n",ret);

    return 0 ;
}

文章最后发布于: 2018-09-06 19:26:06

相关阅读

【论文笔记】Pointer Network

Pointer Network Abstract  我们引入了一种新的神经网络结构来学习输出序列的条件概率,其中的元素是与输入序列中的位置对应的

java.lang.NullPointerException

之前一篇文章聊过异常排名《Java异常排行榜:哪个异常最常见?》,里面谈到国外一个网站对 Java 异常进行数据分析并排名,结果是 NullPoi

java.lang.NullPointerException

对于任意的Object,判断其是否为null,应该将Object xx==null写在所有判断条件的前头,一个为null的东西,调用其自身的任何方法都会出现

HTTP Status 500 - Request processing failed; neste

HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerExceptiontype Exception reportmess

$(function(){})什么时候执行

$(function() {}),即$(document).ready(function(),什么时候执行?以此为准,真理 $(function() { //执行操作 }); $(function() {}

分享到:

栏目导航

推荐阅读

热门阅读