C++教程:形参实参使用指针详解

需积分: 18 0 下载量 157 浏览量 更新于2024-08-24 收藏 8.81MB PPT 举报
"形参实参都用指针变量-C++教程-谭浩强" 在C++编程中,形参(formal parameter)和实参(actual parameter)是函数调用时涉及的重要概念。形参是函数定义时声明的变量,它们在函数内部使用,而实参则是函数调用时传递给形参的值。在这个特定的例子中,形参和实参都是指针变量,这意味着在函数调用时,传递的是内存地址而非实际的值。 在给出的代码段中,`main()` 函数定义了一个整型数组 `a` 和一个指向整型的指针 `p`,然后将 `p` 指针赋值为数组 `a` 的首地址。这样,`p` 就指向了数组的第一个元素。之后,`f()` 函数被调用,传入了指针 `p` 和整型值 `10`。在 `f()` 函数内部,形参 `x` 是一个整型指针,接收 `p` 的值,即数组 `a` 的首地址;形参 `n` 是一个整型,接收 `10` 的值。这样,`f()` 函数可以通过形参 `x` 访问和操作传入的数组。 C++ 教程通常强调,当使用指针作为参数时,实参指针变量在调用函数之前必须被赋值,因为未初始化的指针可能含有随机的内存地址,这可能导致程序崩溃或者出现未定义的行为。在本例中,`p=a;` 确保了 `p` 已经指向了一个有效的内存位置。 C++ 语言起源于C语言,由C语言发展而来,它在C的基础上增加了面向对象的特性,使得编程更加灵活和高效。C++ 保留了C语言的许多优点,如简洁的语法、高效的执行和良好的可移植性。C++ 的特点包括: 1. 结构化编程:C++ 支持结构化编程原则,可以编写模块化的程序,便于理解和维护。 2. 高级和低级语言特性结合:C++ 提供丰富的运算符,支持位运算,同时允许直接访问内存,类似于汇编语言。 3. 数据结构和算法的强大支持:C++ 支持动态数据结构,如类和模板,适合复杂的数据结构设计。 4. 可移植性:C++ 程序在不同平台间的可移植性较强,编写的程序可以在多种计算机系统上运行。 5. 程序设计自由度大:C++ 允许程序员自由选择编程风格,但这也意味着对程序员的要求更高,需要更深入理解语言规则以避免错误。 对于初学者来说,C++ 的学习曲线可能较为陡峭,尤其是指针部分,因为指针的使用需要对内存管理和地址概念有清晰的理解。不过,熟练掌握指针能够极大地提升编程能力,特别是在处理高效数据结构和算法时。调试C++程序时,可能需要借助调试器来追踪变量状态,以找出潜在的错误。C++ 是一种强大的编程语言,适用于各种领域,包括系统编程、游戏开发、科学计算等。