定义函数数组[C/C++]

原创 2007年10月06日 15:04:00
// 函数定义
void fun1() { printf("function 1 "); }
void fun2() { printf("function 2 "); }
void fun3() { printf("function 3 "); }
void fun4() { printf("function 4 "); }


// 方法1
// 函数数组定义并赋初值
void (*p[])() = { fun1, fun2, fun3, fun4 };

// 调用数组中的函数
for(int i=0; i < 4; i++)
{
    p[i]();
}


// 方法2
typedef void (*PFUN)();  // 定义函数指针

PFUNC funArray[] 
= { fun1, fun2, fun3, fun4 };

// 调用数组中的函数
for(int i=0; i < 4; i++)
{
    funArray[i]();
}
 

c语言,c++函数返回一个数组,二维数组

与其他高级语言相比,c语言,c++ 最大的不方便之处就是 函数只能返回一个数值。若要返回一个数组,必须用到指针以及动态分配内存。 这是一个坎,就如学吉他时的大横按一样,不少人在这个坎上望而却步。 我前...
  • robert_chen1988
  • robert_chen1988
  • 2016年12月10日 00:34
  • 5664

C/C++中,空数组、空类、类中空数组的解析及其作用

我们经常会遇到这些问题: (1)C++中定义一个空类,他们它的大小(sizeof) 为多少? (2)只有一个char数据成员的类的大小? (3)能否定义一个空数组? (4)空数组名做标示的指针...
  • sumnuce
  • sumnuce
  • 2014年04月24日 16:01
  • 1605

c++中用一个变量定义一维数组的元素个数

即所谓的变长数组 C89标准不支持变长数组的功能,也就是说数组的长度在编译期就确定,不能在运行期改变。 在C99标准中,新增的一项功能就是允许在C语言中使用变长数组。然而,C99定义的这种变长数组的使...
  • u014546553
  • u014546553
  • 2016年12月02日 14:40
  • 1927

c/c++函数返回局部变量数组

在c/c++中,是不应该返回局部变量数组的 这是因为在函数中,局部变量是存储在栈内存中的,而函数的返回是值拷贝 因此数组返回实际是返回指向栈内存中这个原数组的首地址,但是函数结束后 该内存是会被...
  • qq_16097611
  • qq_16097611
  • 2016年07月13日 11:24
  • 767

函数指针与函数指针数组的定义与使用

函数指针与函数指针数组的定义与使用 函数指针:指向函数的指针 定义方法为 double add(double a,double b); double sub(double a,...
  • chenglibin1988
  • chenglibin1988
  • 2013年05月12日 11:09
  • 12955

关于在C/C++语言中,函数如何返回数组,数组如何作为参数传递以及返回数组的函数该如何调用问题的总结

可能很多初学者对C语言中(C++类似),数组作为参数传递,和一个函数如何返回一个数组这类问题很迷惑,因为这里面涉及到指针问题,而初学者对指针了解甚少,更别说使用了。我也是刚刚需要实现一个简单算法才用到...
  • chief_cf
  • chief_cf
  • 2016年05月13日 18:08
  • 13871

详谈C++中数组作为函数参数

一、一个例子引发的思考  运行以下代码,请问输出是什么?例子来源于《剑指Offer》,我对书上例子做了修改,让其可以运行。#include using namespace std;int GetSiz...
  • oNever_say_love
  • oNever_say_love
  • 2015年10月26日 12:33
  • 2533

C/C++函数返回数组指针的一点点小姿势

数组指针问题一直是C/C++语言初学者的头疼问题,这里图图和大家分享一下函数返回数组的问题。如果在函数里定义静态数组,那么函数结束时数组内存空间也就会被释放,这时候如果返回数组首地址的话,那么获得的指...
  • u011106520
  • u011106520
  • 2014年03月29日 23:55
  • 1256

C的宏定义实现模板函数——C的C++模板函数机制实现

近日移植TightVNC,关于RectangleUpdate的编码,处理不同色彩位深bits/pixe( 8,16,32)有着极其相似的处理方法,由于C中没有模板函数的概念,因而采用了宏定义来处理,与...
  • ARLoverKang
  • ARLoverKang
  • 2013年12月05日 09:56
  • 1753

VS开发】C中调用C++文件中定义的function函数

【VS开发】C中调用C++文件中定义的function函数标签(空格分隔): 【VS开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/精要一揽C调用C++,...
  • LG1259156776
  • LG1259156776
  • 2015年12月04日 18:51
  • 1886
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:定义函数数组[C/C++]
举报原因:
原因补充:

(最多只允许输入30个字)