🍋函数参数
2021-1-21
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
 
 

函数定义

函数定义从下面的ANSI C风格的函数头开始:
该行告知编译器show_n_char()使用两个参数ch和num,ch是char类型,num是int类型。这两个变量被称为形式参数,简称形参。和定义在函数中变量一样,形式参数也是局部变量,属该函数私有。这意味着在其他函数中使用同名变量不会引起名称冲突。每次调用函数,就会给这些变量赋值。
虽然show_n_char()接受来自main()的值,但是它没有返回值。因此show_n_char()的类型是void。
 
注意:ANSI C要求在每个变量前都声明其类型。也就是说,不能像普通变量声明那样使用同一类型的变量列表:
 

函数原型

在使用函数之前,要用ANSI C形式声明函数原型:
当函数接受参数时,函数原型用逗号分隔的列表指明参数的数量和类型。也可以省略变量名:
 

调用带实际参数的函数

在函数调用中,实际参数提供了ch和num的值。
实际参数是空格字符和12。这两个值被赋给show_n_char()中相应的形式参数:变量ch和num。
 

实参和形参

形式参数是被调函数中的变量,实际参数是主调函数赋给被调函数的具体值。实际参数可以是常量、变量,或甚至是更复杂的表达式。无论实际参数是何种形式都要被求值,然后该被拷贝给被调函数相应的形式参数
notion image
 
 

黑盒视角

从黑盒的视角看 show_n_char(),待显示的字符和显示的次数是输入。执行后的结果是打印指定数量的字符。输入以参数的形式被传递给函数。这些信息清楚地表明了如何在 main()中使用该函数。而且,这也可以作为编写该函数的设计说明。
黑盒方法的核心部分是:ch、num和count都是show_n_char()私有的局部变量。如果在main()中使用同名变量,那么它们相互独立,互不影响。也就是说,如果main()有一个count变量,那么改变它的值不会改变show_n_char()中的count,反之亦然。黑盒里发生了什么对主调函数是不可见的。
  • C
  • 函数return返回值
    目录