在本文中,您将学习如何使用空指针。这些指针可以指向任何类型的数据。本文将教您如何在程序中有效地使用它们。
在C ++中,不能将一种类型的变量的地址分配给另一种类型的指针。请看以下示例:
int *ptr; double d = 9; ptr = &d; // 错误:不能将double*赋值给int
但是,有一个例外情况。
在C ++中,有一个通用指针可以指向任何类型。该通用指针是的void指针。
void *ptr; // 指向void的指针
#include <iostream> using namespace std; int main() { void* ptr; float f = 2.3; ptr = &f; // float* to void cout << &f << endl; cout << ptr; return 0; }
输出结果
0xffd117ac 0xffd117ac
在此,指针ptr的值为&f。
输出显示出 void指针ptr存储了一个浮点变量f的地址。