函数做为指针

//
//  main.c
//  11.26.3指向函数的指针
//
//  Created by 张凯泽 on 15/11/26.
//  Copyright (c) 2015年 rytong_zkz. All rights reserved.
//

#include <stdio.h>
#warning mark--zkz--函数名就是函数的地址,数组名就是数组的地址
void test()
{
    printf("Hello World\n");
}
int sum (int value1 ,int value2)
{
    return value1 + value2;
}
int main(int argc, const char * argv[]) {
    /**
     *  void (*pointer)();
     (*pointer):固定写法只要这样写就代表着,将来定义出来的指针指向的是一个函数。
     void      :代表指针变量pointer将来指向的函数没有返回值。
     ()       :代表指针变量pointer将来指向的函数没有形参。
     */
    /**
     * 1. 定义一个指向函数的指针,这个指针 将来指向的函数没有返回值没有形参。
     */
    void (*pointer)() = test;
    test();//直接访问
    (*pointer)();//间接访问
    pointer();//间接访问
    /**
     *  2.定义一个指向函数的指针,这个指针将来指向的函数有形参,有返回值
     */
    int (*pointer1)(int ,int );
    pointer1 = sum;
    sum(10, 20);
    pointer1(20,30);
    (*pointer1)(30,40);
    
    return 0;
}

 

posted @ 2016-03-29 16:35  张凯泽  阅读(165)  评论(0编辑  收藏  举报