美文网首页
返回指针的函数与指向函数的指针

返回指针的函数与指向函数的指针

作者: SimpleSJ | 来源:发表于2018-10-30 16:02 被阅读0次

1.返回指针的函数

char * demo();
int main(int argc, const char * argv[]) {
    char *name = demo();
    printf("----%s\n",name);
    return 0;
}
char * demo(){
    char *name = "hello world";
    return name;
}
//输出:
----hello world

2.指向函数的指针

总结:这里的指向函数的指针,与c语言的函数,oc中的block有以下的共同点:
分三步:1.声明 2.定义(实现) 3.调用,指向函数的指针与oc中非常重要的block之间的区别只有一个*

  • 1.为什么指针可以指向一个函数?
    • 函数作为一段程序,在内存中也要占据部分存储空间,它也有一个起始地址,即函数的入口地址。函数有自己的地址,那就好办了,我们的指针变量就是用来存储地址的。因此,可以利用一个指针指向一个函数。其中,函数名就代表着函数的地址。
  • 2.针函数的定义和使用
    按照返回值跟参数将函数分为四类,同样对应的是四种类型的指向函数的指针,直接上代码
#include <stdio.h>
void printStr(void);
void constomPrint(char *str);
int getnums(void);
int sum(int v1,int v2);
int main(int argc, const char * argv[]) {
    //指向无参无反函数的指针
    //声明
    void(*p1)(void);
    //定义
    p1 = printStr;
    //调用(执行)
    p1();
    
    //指向有参无反函数的指针
    //声明
    void(*p2)(char *);
    //定义
    p2 = constomPrint;
    //调用(执行)
    p2("sjcool");
    
    
    //指向无参有反函数的指针
    //声明
    int(*p3)(void);
    //定义
    p3 = getnums;
    //调用(执行)
    int a = p3();
    printf("------a:%i\n",a);
    
    //指有无参有反函数的指针
    //声明
    int(*p4)(int,int);
    //定义
    p4 = sum;
    //调用(执行)
    int b = p4(3,5);
    printf("------b:%i\n",b);
    
    return 0;
}
void printStr(){
    printf("无参无反\n");
}

void constomPrint(char *str){
    printf("自定义打印%s\n",str);
}

int getnums(){
    return 666;
}
int sum(int v1,int v2){
    return v1+v2;
}

//输出:
无参无反
自定义打印sjcool
------a:666
------b:8

相关文章

  • 指针

    一. 指针指向的是对象的地址//函数指针:指针指向函数//指针函数:函数返回指针 二.

  • 函数和指针

    函数指针: 指向函数的指针(是指针)指针函数:返回值是指针的函数(是函数)

  • C语言指针和函数

    返回指针的函数 指向函数的指针

  • 返回指针的函数与指向函数的指针

    1.返回指针的函数 2.指向函数的指针 总结:这里的指向函数的指针,与c语言的函数,oc中的block有以下的共同...

  • c语言中的注册函数、回调函数(callback)以及多态的实现

    一、函数指针 函数指针:指向存放函数空间首地址的指针变量。 函数指针的定义方式为: 函数返回值类型 (* 指针变量...

  • C语言基础知识点

    函数指针与回调函数 1、函数指针:函数指针是指向函数的指针变量,以下实例声明了函数指针变量 p,指向函数 max:...

  • C++:函数指针 & 返回函数指针的函数

    函数指针 & 返回函数指针的函数 一、函数指针的声明和使用 声明一个函数指针,给它赋值并调用它指向的函数 函数指针...

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • 函数指针

    函数指针 函数指针就是指向函数的一个指针,函数名就是一个地址,定义一个指针指向函数体,此指针就是函数指针。 定义与...

  • c语言指针

    int (*func_p)();//指向int类型函数的指针 int *f();//返回指向int类型指针的函数 ...

网友评论

      本文标题:返回指针的函数与指向函数的指针

      本文链接:https://www.haomeiwen.com/subject/soegtqtx.html