函数指针和指针函数

Posted calm-blogme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数指针和指针函数相关的知识,希望对你有一定的参考价值。

读了大佬的blog,清晰了一点...害,谁让老师说考的多呢

 

· 指针函数,返回指针的函数

int *fun(int x,int y);

在调用指针函数时,需要一个同类型的指针来接收其函数的返回值。

 

· 函数指针,指向函数的指针

int (*fun)(int x,int y);

把一个函数的地址赋值给他

fun = &Function;
fun = Function;

调用

x = (*fun)();
x = fun();

 

函数指针练习:编写一个函数char_contains(char str[],char c),如果字符串中包含字符c,则返回1,否则返回0,并在main函数中使用函数指针调用。

#include <stdio.h>

int char_contains(char str[],char c)

{

    //遍历整个字符串

    for(int i = 0; i < strlen(str); i++)

    {

        if(str[i]==c)

        return 1;

    }

    return 0;

}

int main() {

    char str[] = "abcdef";

    int (*p)(char str[],char b) = char_contains;

    if (p(str,c)) {
        printf("%s contains char c
",str);
    }else{
        printf("%s does not contains char c
",str);
    }

    return 0;
}

 

以上是关于函数指针和指针函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 std::thread 函数 C++11 将指针作为参数传递

指针函数和函数指针

如何在汇编函数中将元素数组作为参数传递时转发ARM寄存器的地址指针

函数指针

20160210.CCPP体系详解(0020天)

C++|详解类成员指针:数据成员指针和成员函数指针及应用场合