码迷,mamicode.com
首页 > 编程语言 > 详细

c语言---函数指针

时间:2015-05-01 08:15:20      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

函数指针:

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

 

c语言---函数指针

标签:

原文地址:http://www.cnblogs.com/cheng923181/p/4470318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!