要将void*转换为自定义结构体指针,可以使用类型转换操作符(struct_name*)。以下是一个示例:

#include <stdio.h>

typedef struct {
    int x;
    int y;
} Point;

int main() {
    Point p = {3, 4};
    void* ptr = &p; // 将结构体指针转换为 void* 类型

    Point* p_ptr = (Point*)ptr; // 将 void* 类型转换为结构体指针

    printf("x: %d, y: %d\n", p_ptr->x, p_ptr->y); // 输出结构体指针中的值

    return 0;
}

在上面的示例中,我们首先定义了一个自定义的结构体 Point,然后创建了一个 Point 类型的结构体变量 p,并给它赋值。接下来,我们将 p 的地址赋给 void* 类型的指针 ptr。然后,我们使用类型转换操作符 (Point*) 将 ptr 转换为 Point 类型的结构体指针 p_ptr,然后我们可以通过 p_ptr 访问结构体中的成员变量。

输出结果为:

x: 3, y: 4
``
void怎么转换为自定义结构体指针

原文地址: https://www.cveoy.top/t/topic/hUxF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录