函数指针和函数数组使用
2013-05-08 21:08
176 查看
函数指针总结: 总共含有四个程序 说明了 typedef Tpye(func)(parameter list)和typedef Tpye(*func)(parameter list)的区别 顺带说明了下函数数组的使用。 第一个程序: ------------------------------------------------------- #include<stdio.h> typedef int (func)(void);//相当于定义一个函数数据类型 int test(void) { printf("test\n"); return 0; } int main(void) { func *pt = test;//将test的函数地址赋值给pt指针 test(); //这两种方式调用是一样的 (*test)(); return 0; } -------------------------------------------------------- 第二个程序: ------------------------------------------------------------ #include<stdio.h> typedef int (func)(void); int test1(void) { printf("test1\n"); return 0; } int test2(void) { printf("test2\n"); return 0; } int hang(void) { printf("hang()\n"); return 0; } int main(void) { func *func_arr[] = {test1,test2,NULL}; func **pt; for(pt = func_arr;*pt;++pt)//这里的判定条件才是测试函数数组的项的条件 { if((*pt)() != 0)//这里测试的是函数的返回值 而不是函数数组的项。 hang(); } return 0; } ------------------------------------------------------------ 第三个函数: #include<stdio.h> typedef int (*func)(void); int test1(void) { printf("test1\n"); return 0; } int test2(void) { printf("test2\n"); return 0; } int hang(void) { printf("hang()\n"); return 0; } int main(void) { func pt = test1; pt(); (*pt)(); return 0; } --------------------------------------------------------------- 第四个函数: --------------------------------------------------------------- #include<stdio.h> typedef int (*func)(void);//定义一个函数指针 int test1(void) { printf("test1\n"); return 0; } int test2(void) { printf("test2\n"); return 0; } int hang(void) { printf("hang()\n"); return 0; } int main(void) { func func_arr[] = {test1,test2,NULL}; func *pt; for(pt = func_arr;*pt;++pt) { if((*pt)() != 0) hang(); } return 0; } ----------------------------------------------------------------
相关文章推荐
- [c++] 函数指针和函数指针数组的使用方法
- 函数指针与函数指针数组的使用方法
- 函数指针与函数指针数组的使用方法
- 函数指针与函数指针数组的定义与使用
- 使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现
- 函数指针与函数指针数组的定义与使用
- 函数指针与函数指针数组的使用方法
- 函数指针与函数指针数组的定义与使用
- php5.5新数组函数array_column使用
- 使用一个函数找出整型数组的最大值或最小值
- 函数指针数组的使用
- 指针数组 数组指针 函数指针 函数指针数组
- shell 使用数组作为函数参数的方法
- PHP array_walk_recursive 使用自定的函数处理数组中的每一个元素
- php数组函数序列之array_combine() - 数组合并函数使用说明
- c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
- 函数指针—指针函数 数组指针—指针数组 类模板—模板类 函数模板——模板函数 的区别
- 使用不带圆括号的函数名是访问函数指针,而不是调用函数名
- 使用unordered_map和函数指针实现类私有函数的调用
- 关于函数指针数组与返回数组指针的函数