温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中函数怎么用

发布时间:2021-11-19 09:05:54 来源:亿速云 阅读:193 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“C语言中函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言中函数怎么用”这篇文章吧。

    函数

    函数定义

    百度百科对函数的定义:子程序

    在计算机科学中,子程序是一个大型程序中的某部分代码,有一个或者多个语句块组成,它负责完成某项特定的任务,而且相比于其他的代码,具备相对的独立性。

    一般来说会有输入参数和返回值,提供对过程的封装和细节的隐藏,这些代码通常被集成为软件库。

    函数一般格式

    C语言中函数怎么用

    C语言函数分类

    库函数

    为了支持可移植性和提高程序的效率,所以C语言的基础库提供了一系列库函数,库函数是对实现某种特定功能的代码的封装,当用户需要实现这种功能时,只需要调用此库函数即可,方便程序员进行软件开发。

    库函数的分类

    常用的库函数可简单的分为:IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期函数,数学函数等等。

    库函数的学习

    这里我们主要提供两个网站提供用户学习库函数。
    (http://www.cplusplus.com)
    (http://en.cppreference.com)

    自定义函数

    自定义函数是程序员根据所要完成的功能,自己写出的源代码实现该功能。
    自定义函数和库函数一样,具有函数名,返回值类型,和函数参数。

    代码示例1:写一个函数找出两整数的最大值。

    int get_max(int x, int y)
    {
    	return (x > y ? x : y);
    }
    int main()
    {
    	int a, b;
    	scanf("%d%d", &a, &b);
    	int MAX = get_max(a, b);
    	printf("MAX = %d\n", MAX);
    	return 0;
    }
    10 20
    MAX = 20
    请按任意键继续. . .

    代码示例2:写一个自定义函数交换两整型内容

    void swap(int * x, int * y)
    {
    	int temp = *x;
    	*x = *y;
    	*y = temp;
    }
    int main()
    {
    	int a, b;
    	scanf("%d%d", &a, &b);
    	printf("交换前:a = %d b = %d\n", a, b);
    	swap(&a, &b);
    	printf("交换后:a = %d b = %d\n", a, b);
    	return 0;
    }
    10 20
    交换前:a = 10 b = 20
    交换后:a = 20 b = 10
    请按任意键继续. . .

    函数的参数

    实际参数

    实际传递给函数的参数,可以是变量,常量,表达式,函数,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。

    形式参数

    形式参数是指被调函数的函数名后括号里的变量,形参变量只有被调用时才分配内存空间储存,在未出调用该函数时,它们并不占内存中的存储单元,因此被称为形式参数或虚拟参数。且函数调用完成之后就即时的自动销毁,因此形参只在被调函数内有效。
    形参与实参的联系:当函数调用时,实参传递给形参,形参是实参的一份临时拷贝,所以对形参的修改不会影响实参。
    实参单元与形参单元是不同的单元。调用结束后,形参单元被释放,函数调用结束返回主调函数后则不能再使用该形参变量。实参单元仍保留并维持原值。因此,在执行一个被调用函数时,形参的值如果发生改变,并不会改变主调函数中实参的值。

    函数的调用

    定义函数后,我们需要调用此函数才能执行到这个函数里的代码段。这和main()函数不一样,main()为编译器设定好自动调用的主函数,无需人为调用,我们都是在main()函数里调用别的函数,一个 C 程序里有且只有一个main()函数。

    传值调用

    函数的形参和实参分别占用不同的内存空间,且形参随着被调函数的结束而即时的销毁,所以对形参的修改不会影响实参。
    代码举例:

    void swap(int  x, int  y)
    {
    	int temp = x;
    	x = y;
    	y = temp;
    }
    int main()
    {
    	int a, b;
    	scanf("%d%d", &a, &b);
    	printf("交换前:a = %d b = %d\n", a, b);
    	swap(a, b);
    	printf("交换后:a = %d b = %d\n", a, b);
    	return 0;
    }
    10 20
    交换前:a = 10 b = 20
    交换后:a = 10 b = 20
    请按任意键继续. . .

    传址调用

    传址调用,顾名思义就是把地址传递给被调函数,(实参与形参”不同级别“)。
    代码示例:

    void swap(int * x, int * y)
    {
    	int temp = *x;
    	*x = *y;
    	*y = temp;
    }
    int main()
    {
    	int a, b;
    	scanf("%d%d", &a, &b);
    	printf("交换前:a = %d b = %d\n", a, b);
    	swap(&a, &b);
    	printf("交换后:a = %d b = %d\n", a, b);
    	return 0;
    }
    10 20
    交换前:a = 10 b = 20
    交换后:a = 20 b = 10
    请按任意键继续. . .

    无参函数调用

    如果是调用无参函数,则不能加上“实参”,但括号不能省略。

    void test()
    {
    }
    int main()
    {
    	// 函数的调用
    	test();	// right, 圆括号()不能省略
    	test(250); // error, 函数定义时没有参数
    return 0;
    }

    函数的声明和定义

    函数的声明

    所谓函数声明,就是告诉编译器将有一个或者已经有一个对应的函数,参数是什么,返回类型是什么,但是具体存不存在,编译器不确定。

    函数的声明一般是出现在函数使用之前,先声明,后使用。主要运用于多文件编程时,一般放在头文件中。

    函数的定义

    函数的定义是指具体实现某种功能的代码解释。

    #include <stdio.h>
    int get_max(int x, int y); // 函数的声明,分号不能省略
    // int get_max(int, int); // 另一种方式
    int main()
    {
    	int a = 10, b = 25, MAX = 0;
    	MAX = get_max(a, b); // 函数的调用
    	printf("MAX = %d\n", MAX);
    	return 0;
    }
    // 函数的定义
    int max(int x, int y)
    {
    	return x > y ? x : y;
    }

    函数声明与定义的区别

    定义是指对函数功能的实现,包括指定函数名、函数类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。

    声明的作用则是把函数的名字、函数类型以及形参的个数、类型和顺序(注意,不包括函数体)通知编译系统,以便在对包含函数调用的语句进行编译时,据此对其进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。

    exit与return介绍

    这里我们简单介绍一下return与exit的区别与联系:

    联系:在main函数中,exit和return的作用是一致的。
    区别:在子函数中调用return只是代表子函数终止了,在子函数中调用exit,那么程序终止。

    以上是“C语言中函数怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

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

    AI