在本文中,您将学习如何使用空指针。这些指针可以指向任何类型的数据。本文将教您如何在程序中有效地使用它们。
在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的地址。