Advertisement

如何获取和处理void*及void**指针数据

阅读量:

如何访问 void* 和 void** 指针类型的数据

void^* 是一种指针变量形式,在内存管理中被用于表示一种特殊类型的指针。
void^{**} 则是一种更高层次的指针变量形式,在编程逻辑中被用来指示另一种特定类型的内存地址。
这种层次化的内存引用机制允许程序在运行时灵活地处理不同数据类型的对象及其相关引用。

一、如何获取这两种数据类型的信息呢? 也就是说,在访问这些数据之前必须先将它们强制转换为相应的数据类型。

main.cpp

复制代码
    #include<iostream>
    
    int main(){
    int a=1111;
    void *p = &a; // void* 可以存放任意类型对象的地址
    void **pp =&p; // void** 指针指向了 void* 类型的对象
    printf("void *p: %d\n", *(int*)p); //强制把 void* 类型转化为 int* 类型对象,然后使用 * 解引用
    printf("void **pp: %d\n", *(int**)p);//强制把 void** 类型转化为 int** 类型对象,然后使用 * 解引用
    return 0;
    }

输出结果:

复制代码

全部评论 (0)

还没有任何评论哟~