爱悠闲 > 指针数组 数组指针 函数指针 函数指针数组

指针数组 数组指针 函数指针 函数指针数组

分类: linux-C  |  标签: fun  |  作者: taolinke 相关  |  发布日期 : 2014-12-01  |  热度 : 36°
数组指针--指向数组的指针,是一个指针,其指向的类型是数组;
指针数组--元素为指针的数组,是一个数组,其中的元素为指针。
例如 int (*a)[5];这个是数组指针。int *a[5];这个是指针数组。

定义函数指针类型:
int max(int,int);

typedef int (*fun_ptr)(int,int);

申明变量,赋值:fun_ptr max_func=max; 也就是说,赋给函数指针的函数应该和函数指针所指的函数原型是一致的。

 

函数指针数组,其实还是一个数组,不过存的都是函数指针。

例如 int (*fun_ptr[2])(int,int);

 

#include "stdio.h"

int add1(int a1,int b1);   

int add2(int a2,int b2);   

void main()   

{   

int numa1=1,numb1=2;   

int numa2=2,numb2=3;   

int (*op[2])(int a,int b);   

op[0]=add1;   

op[1]=add2;   

printf("%d %d/n",op[0](numa1,numb1),op[1](numa2,numb2));   

}   

 

int add1(int a1,int b1)   

{   return a1+b1;   }   

int add2(int a2,int b2)   

{   return a2+b2;      }