C++ 指向viod的指针(空指针)

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

在C ++中,不能将一种类型的变量的地址分配给另一种类型的指针。请看以下示例:

int *ptr;
double d = 9;
ptr = &d;   // 错误:不能将double*赋值给int

但是,有一个例外情况。

在C ++中,有一个通用指针可以指向任何类型。该通用指针是的void指针。

void *ptr; // 指向void的指针

示例1:指向void的C ++指针

#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的地址。