您现在的位置是:群英 > 开发技术 > 编程语言
C语言函数的调用方式是什么?浅谈函数的用法
Admin发表于 2022-02-18 18:05:49743 次浏览

    这篇文章给大家分享的是C语言函数的调用方式,以及内部函数与外部函数,和局部变量与全局变量,对大家学习和理解函数的用法有一定的帮助,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

        函数的调用

        函数调用方式

    • 函数语句调用
    • 函数表达式调用
    • 函数参数调用

    sum(); //函数语句调用

    result = average * sum(a); //函数表达式调用

    此时函数名出现在表达式中,其返回值将作为表达式的算数参与计算。

    result = sum(sum1(a)); //函数参数调用

    此时函数名出现在另一个函数的参数中,其返回值将作为实参赋值给外函数的形参。

        函数嵌套调用

        首先在C语言中不允许函数嵌套定义,也就是不许在一个函数内定义一个新函数。

        但是C语言允许函数嵌套调用。

    void a()
    {
            printf("sth");
    }
    void b()
    {
            printf("sth2");
            a();
    }

        递归调用

        C语言的函数都支持递归,也就是说,每个函数都可以直接或间接地调用自己。

        递归实现的原因是函数的每个执行过程在栈中都有自己的形参和局部变量的副本,这些副本相对独立。

        假定某个函数调用了一个被调用的函数,再假定被调用的函数反过来调用了调用函数,那么第二个函数就称为调用函数的递归。

        使用函数的递归需要两个先决条件,即递推关系和结束条件。

        写个简单的函数递归:

    #include<stdio.h>
    void number(int a)
    {
    	int num = a;
    	printf("输入一个正数:");
    	scanf("%d",&num);
    	if(num <= 0)
    	{
    		number(num);
    	}
    	else
    	{
    		printf("这个正数是:%d",num);
    	}
    } 
    int main()
    {
    	int a; 
    	number(a);
    	return 0;
    }

        内部函数与外部函数

        函数是C语言程序中的最小实现单位,我们可以把一个函数或者多个函数保存为一个文件,这个文件被称为源文件。

        我们在定义一个函数后,该函数便可被其他函数所调用。

        但当一个源程序由多个源文件组成时,我们可以指定函数不能被其他文件调用,这时C语言的函数便分为两大类,内部函数与外部函数。

        内部函数

        当某一个函数只能被其所在源文件调用时,他便被称为内部函数,也叫做静态函数。

        当一个函数是内部函数时,他便只局限与其所在源文件中,其他源文件就可以有同名函数,并且他们之间互不干扰。

        static关键字可以将原来的函数修饰成普通函数。

    static 返回值类型 函数名(参数列表)

    static int number(int a)

        外部函数

        与内部函数相反,外部函数是可以被其他源文件调用的。

        外部函数使用extern关键字进行修饰。

        一般来说,定义函数时如果没有使用extern关键字,则将默认该函数为默认函数,换言之,extern可以省略。

    extern 返回值类型 函数名(参数列表)

    extern in number(int a)

        局部变量与全局变量

        “作用域”:他决定了程序中哪些语句可用哪些不可用,换言之,就是程序的可见性。作用域包括局部作用域和全局作用域。

        局部变量具有局部作用域,全局变量具有全局作用域。

        局部变量

        在一个函数内定义的变量称为局部变量,我们使用的大多数变量都是局部变量,这些变量的声明在函数内部,无法被其他函数使用。

        函数的形式参数也属于局部变量,只作用于函数内的所有语句块。

        一般来说,一个局部变量的作用域可以由包含该变量的一对大括号所决定。

        全局变量

        与局部变量相对,在函数外部进行声明定义的变量,称为全局变量。

        全局变量不属于某一个函数,而属于整个源文件。如果要在其他文件中使用该变量,则需先用extern关键字进行引用修饰。

        全局变量的作用是增加函数间数据联系的通道。如果在一个函数中改变了全局变量的值,就能影响到其他函数,这便打通了不同函数之间的通道。

    总结

        关于C语言函数的调用方式及函数语法就介绍到这,希望大家阅读完这篇文章能有所收获。最后,想要了解更多C语言函数的内容,大家可以关注群英网络其它相关文章。

    文本转载自PHP中文网

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    相关信息推荐
    2022-09-13 17:47:42 
    摘要:在nodejs中,await用于以非堵塞方式暂停执行,等待一个promise的异步请求,一直等待异步方法执行完毕;await可以用于async函数中,用于等待一个async函数的返回值;promise返回的是拒绝不成功,拒绝值将抛出,能够被“try/catch”捕获。
    2021-11-01 17:56:44 
    摘要:这篇文章给大家分享的是PHP中的引用的相关内容 ,下文将会介绍什么是引用,引用在数组和对象中的使用,引用的传递、引用的返回和引用的取消,对大家学习和理解PHP中的引用有一定的帮助,感兴趣的朋友接下来一起跟随小编看看吧。
    2022-06-28 17:08:05 
    摘要:golang定义一个二维数组的方法:在程序代码中直接使用“var arrayName[x][y]variable_type”语句即可新建一个二维数组。
    云活动
    推荐内容
    热门关键词
    热门信息
    群英网络助力开启安全的云计算之旅
    立即注册,领取新人大礼包
    • 联系我们
    • 24小时售后:4006784567
    • 24小时TEL :0668-2555666
    • 售前咨询TEL:400-678-4567

    • 官方微信

      官方微信
    Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
    增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
    免费拨打  400-678-4567
    免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
    微信公众号
    返回顶部
    返回顶部 返回顶部