C++程序设计:形参实参指针使用解析

需积分: 22 0 下载量 96 浏览量 更新于2024-07-10 收藏 8.66MB PPT 举报
"形参实参都用指针变量-程序设计课件" 在C++编程中,形参(形式参数)和实参(实际参数)是函数调用时的重要概念。形参是函数定义中使用的占位符,它们在函数内部起到临时存储的作用,而实参则是函数调用时传递给形参的值。在这个特定的例子中,我们讨论的是当形参和实参都是指针变量的情况。 1. 形参指针:在函数`f(int *x, int n)`中,`int *x`是一个形参指针,它接收一个指向整型变量的地址。这允许函数直接操作该地址所指向的内存,而不是复制整个变量的值。这样可以节省内存,并且对于大对象或需要高效访问的情况特别有用。 2. 实参指针:在`main`函数中,`p=a;`这一行代码将数组`a`的首地址赋给了指针`p`,使得`p`成为一个指向数组第一个元素的指针。在`f(p, 10);`调用中,`p`作为实参传递给`f`函数,这样`f`函数就可以通过`x`访问到`a`数组的元素。 3. 实参指针变量调用前必须赋值:在C++中,指针变量在使用前必须被初始化,即赋予一个有效的地址。在`p=a;`之后,`p`指向了数组`a`的首元素,这是一个合法的地址,因此可以安全地作为实参传递给`f`函数。如果不赋值,`p`将包含未定义的垃圾值,使用这样的指针会导致未定义行为。 C++语言的特性: 4. 结构化编程:C++支持结构化编程,这意味着代码可以被组织成块,如函数,这些块可以独立处理特定任务,有助于提高代码的可读性和可维护性。 5. 混合了高级和低级语言特点:C++具有丰富的运算符,包括位运算符,这使得它既可以进行抽象的高级编程,也可以进行底层的内存操作,类似于汇编语言。 6. 数据结构和函数的灵活性:C++允许创建复杂的自定义数据结构,如类和结构体,以及强大的函数功能,如函数重载和递归,这使得表达复杂的算法和数据处理变得简单。 7. 可移植性:C++编写的程序通常可以在不同的操作系统和硬件平台上运行,只需要极少或无需修改。这是因为它依赖于标准库和标准语法,而不是特定平台的特性。 8. 语法的灵活性和挑战性:虽然C++提供了很大的编程自由度,但这也意味着学习曲线相对较陡。对于初学者,理解和调试C++程序可能需要更多的时间和努力,因为语法的宽松可能导致错误更难以发现。 形参和实参都是指针变量时,C++程序员可以通过指针直接操作内存,实现高效的数据交换和处理。同时,理解并熟练掌握C++的各种特性,将有助于编写出高质量、可移植的代码。