c语言---函数指针

函数指针:

char *test()

int main()

{

    char *name = test();

    

    printf("name=%s\n", name);

    

    return 0;

}

char *test()

{

    return "rose";

}

 

指向函数的指针:

double haha(double d, char *s, int a)

{

    

}

 掌握:

 1.看懂语法

 2.定义指向函数的指针

    double (*p)(double, char *, int);

    p = haha;

    或者

    double (*p)(double, char *, int) = haha;

 3.如何间接调用函数

 1> p(10.7, "jack", 10);

 2> (*p)(10.7, "jack", 10);

 

     定义指针变量指向sum函数

     左边的int:指针变量p指向的函数返回int类型的数据

     右边的(int, int):指针变量p指向的函数有2个int类型的形参

 

     (*p)是固定写法,代表指针变量p将来肯定是指向函数

     左边的void:指针变量p指向的函数没有返回值

     右边的():指针变量p指向的函数没有形参

     void (*p)();

    // 指针变量p指向了test函数

    p = test;

    p();

    //(*p)(); // 利用指针变量间接调用函数

    //test(); // 直接调用函数

 

变量类型:

根据变量的作用域,可以分为:

 1.局部变量:

 1> 定义:在函数(代码块)内部定义的变量(包括函数的形参)

 2> 作用域:从定义变量的那一行开始,一直到代码块结束

 3> 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收

 4> 没有固定的初始值

 

 2.全局变量

 1> 定义:在函数外面定义的变量

 2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享)

 3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁

 4> 默认的初始值就是0

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。