C++程序设计:指针变量的赋值与类型约束

需积分: 32 3 下载量 58 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
"指针变量在C++中扮演着重要的角色,它们可以存储变量的内存地址,允许我们直接访问和修改该地址处的值。在《C++清华大学-谭浩强》的讲解中,指针变量的赋值和使用是核心概念之一。 指针变量的赋值通常有两种方式。首先,你可以先定义一个变量,然后将它的地址赋值给指针。例如: ```cpp int i; // 定义一个整型变量i int *i_point; // 定义一个整型指针i_point i_point = &i; // 将i的地址赋值给i_point ``` 这里,`&`操作符用于获取变量的地址,赋值操作使得`i_point`指向了`i`的内存位置。 另一种方式是,在定义指针变量的同时就给它赋初值,即直接指向一个已存在的变量: ```cpp int i; // 定义整型变量i int *i_point = &i; // 定义并初始化指针i_point,使其指向i ``` 这里,定义语句中的`*`表示`i_point`是一个指针,而`=`右侧的`&i`表明它指向`i`的地址。 需要注意的是,一个指针变量只能指向相同类型的变量。这意味着一个整型指针(`int *`)只能存储整型变量的地址,不能存储其他类型如浮点型或字符型的地址。如果尝试这样做,编译器会报错。 在实际编程中,指针常用于动态内存分配、数组操作、函数参数传递以及对象的引用等场景。C++中的指针特性使得程序能够实现更高效和灵活的内存管理。然而,这也增加了编程的复杂性,对初学者来说可能需要更多的时间去理解和掌握。 C++起源于C语言,由Bjarne Stroustrup在C的基础上发展和完善,引入了类、模板、异常处理等面向对象的特性。C++语言的特点包括: 1. 结构化编程:C++支持结构化编程,使程序结构清晰,易于维护。 2. 高级和低级语言特性结合:丰富的运算符、位运算以及灵活的数据结构使得C++兼具高级语言和汇编语言的优点。 3. 可移植性:C++程序在不同计算机平台上移植相对容易。 4. 程序设计自由度大:虽然这使得高级程序员可以编写出高效代码,但也增加了初学者学习的难度,调试程序时可能遇到挑战。 学习C++时,理解指针的基本概念和操作是至关重要的,因为它们是C++实现许多高级特性和优化的基础。通过深入学习和实践,可以逐步掌握这一强大的编程工具。"