gpt4 book ai didi

c - 当结构具有 void *指针时如何赋值

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:46 25 4
gpt4 key购买 nike

我正在尝试为具有void *pointer 的变量赋值。据我所知,以下是作业。 (不起作用)

void set_fb_video ()
{

goldfish_lcd.dev.(atmel_lcdfb_info*)platform_data->default_monspecs->modedb->xres = 10;
};

下面是头文件中定义的部分结构

头文件

struct fb_videomode {
..
u32 xres;
..
};

struct fb_monspecs {
..
struct fb_videomode *modedb;
..
};

struct atmel_lcdfb_info;

struct atmel_lcdfb_info {
..
struct fb_monspecs *default_monspecs;
..
};

struct device {
..
void *platform_data;
..
};

struct platform_device {
..
struct device dev;
..
};

C 文件

struct fb_videomode at91_tft_vga_modes[] = {
..
.xres = 100,
..
};


struct fb_monspecs &at91fb_default_monspecs = {
..
.modedb = at91_tft_vga_modes,
..
};

struct atmel_lcdfb_info ek_lcdc_data = {
..
.default_monspecs = &at91fb_default_monspecs,
..
};

struct platform_device goldfish_lcd ={
..
.dev = {
..
.platform_data = &ek_lcdc_data,
},
..
};

非常感谢任何建议。

提前致谢

最佳答案

您的转换不在正确的位置,并且您没有名为 atmel_lcdfb_info 的类型:

((struct atmel_lcdfb_info*)goldfish_lcd.dev.platform_data)->default_monspecs->modedb->xres = 10;

关于c - 当结构具有 void *指针时如何赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20962769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com