【C语言笔记】第六章 模块化程序设计:函数

第六章 模块化程序设计:函数

    • 一、概述
      • 1.什么是函数
      • 2.为什么要定义函数
      • 3.怎样定义函数
    • 二、函数调用
      • 1.调用形式
      • 2.数据传递
      • 3.函数声明和函数原型

一、概述

1.什么是函数

函数就是功能,每一个函数用来实现一个特定的功能,函数的名字反应其代表的功能。

2.为什么要定义函数

C语言要求程序中出现的函数和数据先定义后使用,为了让编译系统识别自定义函数,需要定义函数。

3.怎样定义函数

(1)定义内容:函数名、返回值类型、参数名字和参数类型、函数功能
(2)无参函数

类型名 函数名()
{
函数体
}

(2)有参函数

类型名 函数名(参数类型 参数名)
{
函数体
}

二、函数调用

1.调用形式

一般形式:函数名(实参列表)

max(5 , 8) ;/*max是自定义的比较大小函数,返回两个整数中大的一个*/

(1)函数调用语句
把函数调用单独作为一个语句,不要求其有返回值

print(“hello world”) ;

(2)函数表达式
函数调用出现在另一个表达式中,此事要求函数带回一个确定的值以参加表达式的运算。

x=max(5 , 8) * 9 ;

(3)函数参数
把函数调用作为另外一个函数调用的实参。
max(max(5,8),9);

2.数据传递

(1)形式参数和实际参数
调用有参函数是,主调函数和被调用函数之间有数据传递关系,在定义函数时函数名后面括号中的变量名称为形式参数或虚拟参数(形参),主调函数中调用一个函数式,函数名后面括号中的参数称为实际参数(实参)。实际参数可以使常量、变量或表达式。
(2)函数调用的过程
执行函数调用语句->给形参分配内存单元->将实参的值赋给形参->执行相关功能->
将return语句的值返回给主调函数->释放形参的内存
(3)形参和实参的关系
在不以指针或引用形式传值时,形参和实参时值传递的关系,在内存中占有不同的内存单元,实参无法得到形参的值。
如果需要将形参的值存储在实参中,可以采用指针、引用或者返回值的方法。

3.函数声明和函数原型

(1)调用函数的条件:被调函数已经定义,并已将相关库函数引用。
(2)函数声明
在main函数之前或外部文件中的函数声明语句,用于通知编译系统将执行的操作。如果将main函数放在函数定义之后,则无需声明。

(3)函数原型
是函数的首航或者首部,便于编译系统对函数调用的合法性进行检查

参考资料:
[M]谭浩强.C程序设计.清华大学出版社,2017

你可能感兴趣的:(C语言,程序,C语言,函数,程序设计)