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

需积分: 0 1 下载量 16 浏览量 更新于2024-08-24 收藏 8.81MB PPT 举报
"形参实参都用指针变量-谭浩强经典C++" 在C++编程中,形参(formal parameter)和实参(actual parameter)是函数调用时的重要概念。形参是函数定义时声明的参数,它们在函数内部使用,而实参则是函数被调用时传递给形参的值。在这个例子中,形参和实参都使用了指针变量。 `void main(void)` 是C++程序的主函数,其中`int a[10], *p;` 定义了一个整型数组`a`和一个指向整型的指针`p`。`p=a;` 将数组`a`的首地址赋给指针`p`,使得`p`可以用来访问数组`a`的元素。 `f(p, 10);` 调用了名为`f`的函数,这里`p`作为实参传递,它的值是数组`a`的首地址,而`10`则可能是传递数组的大小或者其他含义,具体取决于`f`函数的实现。 `f(int *x, int n)` 是`f`函数的定义,有两个形参:一个是指向整型的指针`x`,另一个是整型`n`。在这里,`x`将接收来自`main`函数的实参`p`,`n`可能用于表示数组的长度或其他相关计数。 使用指针作为形参和实参有以下好处: 1. **节省内存**:传递指针而不是整个数组或大对象,可以避免复制大量数据,提高效率。 2. **直接操作原数据**:通过指针,函数可以直接修改实参所指向的数据,而无需返回值。 3. **灵活性**:指针可以用来处理动态数据结构,如链表、树等。 然而,使用指针时需要注意的是,实参指针变量在调用前必须赋值,否则会导致未定义行为。例如,在`main`函数中,`p`必须先赋值为`a`的地址,才能作为有效的实参传递给`f`函数。 C++语言的特点包括结构化编程、高级与低级语言的结合、良好的可移植性以及灵活的语法结构,这使得它在各种应用场景中都非常强大。然而,这也意味着对于初学者来说,理解和调试C++程序可能相对困难,因为它的语法不那么严格,程序设计的自由度较大,可能导致错误不易发现。因此,深入理解C++的语法规则和指针操作是编写和调试高质量程序的关键。