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

需积分: 14 6 下载量 13 浏览量 更新于2024-07-13 收藏 8.66MB PPT 举报
"形参实参都用指针变量-C++程序设计" 在C++编程中,形参(formal parameter)和实参(actual parameter)是函数调用时的关键概念。形参是函数定义中声明的参数,它们代表函数接收的输入;而实参则是函数调用时提供的具体值,它们与形参进行匹配,将数据传递给函数内部使用。在标题和描述中提到的形参和实参都使用指针变量的情况,是C++中一种常见的参数传递方式。 在给出的代码示例中,`main`函数创建了一个整型数组`a`和一个指向整型的指针`p`,然后通过`p=a;`将`p`设置为数组`a`的首地址,即`p`现在指向`a[0]`。接着,`f`函数被调用,其中`p`作为实参传入,同时传入一个整型数值`10`,这通常用于表示数组的大小。在`f`函数内部,形参`x`是一个整型指针,它在函数调用期间接收`p`的值,即数组`a`的首地址。形参`n`则表示数组的元素个数。 在C++中,使用指针作为参数可以实现对原始数据的直接操作,这是因为指针实际上存储的是内存地址。因此,当函数内部通过形参指针修改数据时,这些改变会影响到调用函数时的实参,即原始数据。这种方式被称为“传址”,与“传值”(传递数据副本)相比,它更高效,尤其在处理大型数据结构如数组或结构体时。 指针作为参数的一个重要注意事项是,实参指针变量在调用函数前必须被赋予有效值,否则会形成悬挂指针,导致未定义行为。在上述代码中,`p=a;`确保了`p`指向一个已分配的内存区域,这样在传递给`f`函数时,`x`就能正确地指向数组`a`。 C++语言的起源和发展在描述中也有提及。C++由Bjarne Stroustrup在C语言的基础上发展和完善,目的是提供面向对象编程的能力,同时保持C语言的效率和灵活性。C++语言的特性包括结构化编程、丰富的运算符(包括位运算)、强大的数据结构支持(如类和模板)、良好的可移植性以及高度的灵活性。虽然它的语法结构相对宽松,对于初学者可能较为复杂,但一旦熟悉,C++能够帮助程序员编写出高效且可维护的代码。 C++中的形参实参使用指针变量是一种常见且重要的编程实践,它允许直接操作原始数据,提高程序性能。理解指针和参数传递机制是掌握C++编程的关键步骤。