用函数实现模块化程序设计xin精要.ppt

用函数实现模块化程序设计xin精要

数组名作函数的参数,必须遵循以下原则: (1)如果形参是数组形式,则实参必须是实际的数组名,如果实参是数组名,则形参可以是同样维数的数组名或指针。 (2)用数组名作函数参数,应该在主调函数和被调函数中分别定义数组。例中array是形参数组名,score是实参数组名,分别在其所在函数中定义,不能只在一方定义。 (3)实参数组和形参数组必须类型相同。 (4)在定义average函数时,声明数组的大小为10,但在实际上,指定其大小是不起任何作用的,因为C编译系统并不检查形参数组大小,只是将实参数组的首元素的地址传给形参数组名。因此,形参数组名获得了实参数组的首元素的地址。因此,形参数组首元素(array[0])和实参数组首元素(score[0])具有同一地址,它们共占同一存储单元,score[n]和array[n]指的是同一单元。score[n]和array[n]具有相同的值。 (5)在C语言中,数组名除作为变量的标识符之外,数组名还代表了该数组在内存中的起始地址,因此,当数组名作函数参数时,实参与形参之间不是值传递,而是地址传递,实参数组名将该数组的起始地址传递给形参数组,两个数组共享一段内存单元,编译系统不再为形参数组分配存储单元。 7.8局部变量和全局变量 问题:在一个函数中定义的变量,在其他函数中能 否被引用?在不同位置定义的变量,在什么范围内 有效? 这就是变量的作用域问题。C

文档评论(0)

1亿VIP精品文档

相关文档