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。实参和形参
形式参数是被调函数中的变量,实际参数是主调函数赋给被调函数的具体值。实际参数可以是常量、变量,或甚至是更复杂的表达式。无论实际参数是何种形式都要被求值,然后该值被拷贝给被调函数相应的形式参数
黑盒视角
从黑盒的视角看
show_n_char()
,待显示的字符和显示的次数是输入。执行后的结果是打印指定数量的字符。输入以参数的形式被传递给函数。这些信息清楚地表明了如何在 main()
中使用该函数。而且,这也可以作为编写该函数的设计说明。黑盒方法的核心部分是:ch、num和count都是
show_n_char()
私有的局部变量。如果在main()
中使用同名变量,那么它们相互独立,互不影响。也就是说,如果main()
有一个count变量,那么改变它的值不会改变show_n_char()
中的count,反之亦然。黑盒里发生了什么对主调函数是不可见的。