首页 技术 正文
技术 2022年11月15日
0 收藏 538 点赞 2,111 浏览 494 个字

第一眼看到这样一个题目的我,心想除了如下的直接调用还能怎么调用呢?

 1 void fun(void)
2 {
3 ......
4 //你的代码
5 .....
6 }
7 int main(void)
8 {
9 .......
10 fun();
11 .....
12 }

可是高深的C会这么简单吗?当然不可能,随即查阅(百度)一下发现还有如下两种方式:

函数指针

void fun(void)
{
printf("OK!\n");
}
int main(void)
{
void (*pfun)(); //
pfun=fun;
(*pfun)(); //
return 0;
}

函数形参的方式

void fun(void)
{
printf("OK!\n");
}

void CallFun(void (*pfun)())
{
(*pfun)(); //
} int main(void)
{
CallFun(fun); //
}

总结

  C语言中函数的调用主要有如下三种方法,直接调用,函数指针调用,函数指针传递调用其中后两种本质一样,但在有无返回值时还稍有差别。因为本质上函数也是最终的在机器看来都是一个地址下存放的机器指令。在C语言中进行函数定义的声明是为了C语言和调用过程和结果返回的格式约定相关的。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,090
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,567
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,415
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,187
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,823
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,906