C++程序设计:形参实参指针详解

需积分: 9 14 下载量 67 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
"形参实参都用指针变量-C++程序设计(谭浩强完整版)" 在C++编程中,形参(formal parameter)和实参(actual parameter)是函数调用时的关键概念。形参是函数定义中的参数,它们在函数内部使用,而实参是实际传递给函数的值。当形参和实参都使用指针变量时,这意味着函数可以通过指针直接访问和修改调用者提供的内存地址上的数据。 在给定的代码示例中,`main`函数声明了一个整型数组`a`和一个指向整型的指针`p`,然后将`p`赋值为`a`的首地址。这样,`p`就指向了数组`a`的第一个元素。随后调用了函数`f`,并将`p`和整数10作为参数传递给`f`。在`f`函数中,形参`*x`是一个指针,接收`p`的值,即数组`a`的首地址,`n`则是数组的大小。 在C++中,使用指针作为形参有以下好处: 1. **传递大量数据**:如果传递的是大对象或数组,通过指针传递可以避免复制整个对象,提高效率。 2. **改变实参值**:由于指针可以修改所指向的内存中的数据,因此函数可以改变实参的值,这在需要函数影响调用环境时很有用。 3. **效率**:对于大对象,直接通过指针对象进行操作通常比复制对象更高效。 在调用函数`f`之前,确保实参指针变量`p`已经赋值是非常重要的。如果`p`没有赋值,那么它将包含随机的内存地址,可能导致未定义的行为,这是编程中的一个严重错误。 C++语言的特点包括: 1. **结构化编程**:C++支持结构化编程,可以使用函数、循环和条件语句等结构化控制流来组织代码。 2. **低级特性**:C++不仅有高级语言的特性,如类、模板等,还允许直接操作内存,提供位运算等低级操作,使程序更加灵活。 3. **可移植性**:C++编写的程序可以轻松移植到不同平台,只需少量或无需修改。 4. **自由度**:C++语法相对宽松,允许程序员有很大的自由度,但这对初学者来说可能更具挑战性,因为需要仔细管理内存和理解指针。 调试C++程序时,虽然相对于某些高级语言可能更复杂,但熟悉C++的语法规则和理解指针的概念可以帮助编写出高质量、可读性强且高效的代码。对于初学者,学习如何正确使用和调试指针是掌握C++的重要步骤。