c语言在函数内部定义大数组,c语言中能不能定义函数数组

函数不可以定义为数组,可以用函数指针来操作。1.函数指针的数组定义方法:返回值类型(*指针变量名[Number])(形参列表)。例如:doubleadd(doublea,doubleb){};doublesub(doublea,doubleb){};doublemul(doublea,doubleb){};doublediv1(doublea,doubleb){};double(*oper_func[])(double,double)={add,sub,mul,div1};//函数指针的数组定义2.函数指针是指向函数的指针变量。因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。3.函数指针的声明方法为:返回值类型(*指针变量名)(形参列表);“返回值类型”说明函数的返回类型,“(*指针变量名)”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例如:intfunc(intx);/*声明一个函数*/int(*f)(intx);/*声明一个函数指针*/f=func;/*将func函数的首地址赋给指针f*/或者使用下面的方法将函数地址赋给函数指针:f=&func;赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。例子:#include<stdio.h>int max(int x,int y){return (x>y? x:y);}int main(){    int (*ptr)(int, int);    int a, b, c;    ptr = max;    scanf("%d%d", &a, &b);    c = (*ptr)(a,b);    printf("a=%d, b=%d, max=%d", a, b, c);    return 0;}

阅读全文 >

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值