C++编程:理解函数、局部与全局变量的作用域

需积分: 10 0 下载量 40 浏览量 更新于2024-07-14 收藏 1.08MB PPT 举报
本资源主要讲解了C++编程中的全局变量和局部变量的作用域以及函数的基本概念和使用,包括函数的定义、调用、递归调用和嵌套调用,同时强调了函数在优化程序结构中的重要性。 在C++编程中,变量根据其作用范围可以分为全局变量和局部变量。全局变量是在程序的任何地方都可以访问的变量,它们在程序执行开始时被创建,直到程序结束时才被销毁。在给出的例子中,`x`, `y`, `z`被声明为全局变量,这意味着它们在整个程序中都是可见的,可以在函数内外进行赋值和读取。 局部变量则只在其被声明的函数或代码块内部有效。例如,在`f1`和`f2`函数中声明的`b`, `c`, `i`, `j`就是局部变量,它们只在各自的函数内部存在,一旦函数执行完毕,这些变量就会丢失其值。如果在函数内部声明了一个与全局变量同名的局部变量,如`f2`函数中的`x`和`y`,在该函数内部,局部变量会覆盖全局变量,即在`f2`中,`x`和`y`指的是局部变量,而不是全局的`x`和`y`。 函数是C++中实现模块化和复用代码的关键工具。在`main`函数中,我们看到了如何通过调用`arrayprint`函数来打印数组,这使得代码更加清晰,因为打印数组的功能被封装到了一个单独的函数中。`arrayprint`函数接受一个整数数组和数组长度作为参数,然后负责打印数组内容,这样的设计使得`main`函数的职责更加单一,符合良好的编程原则。 函数的定义包括返回类型、函数名和参数列表。例如,`int add(int x, int y)`定义了一个名为`add`的函数,它接受两个整数参数`x`和`y`,并返回它们的和。函数的定义通常放在源代码的开头,而调用则在需要的地方进行,如在`main`函数中。 函数的调用可以是直接的,如`arrayprint(a, n)`,也可以是嵌套的,即在一个函数内部调用另一个函数。此外,函数还可以递归调用自身,这是一种强大的编程技巧,但需要注意避免无限递归的情况。 在本课件的第五章中,还会涉及指针与函数的交互,这是C++中非常重要的一个主题,因为指针可以用来传递复杂数据类型,如数组,或者实现动态内存管理。 总结起来,本资源通过实例介绍了C++中的函数和变量作用域的概念,强调了函数在组织和优化代码中的作用,并为学习者提供了理解全局变量和局部变量、函数定义与调用的基础。