void * 포인터이있는 변수에 값을 할당하려고합니다. 아래는 제가 이해하는 한 최선의 과제입니다. 헤더 파일에구조체에 void * 포인터가있는 경우 값을 어떻게 할당합니까?
헤더 파일
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,
},
..
};
모든 정의 된 다음
void set_fb_video()
{
goldfish_lcd.dev.(atmel_lcdfb_info*)platform_data->default_monspecs->modedb->xres = 10;
};
이 구조의 일부 (작동하지 않습니다) 제안 다시 크게 감사드립니다.
는
당신은 C 또는 C++로 작성하고 있습니까? 두 언어로 모두 글을 쓸 수는 없으며 두 언어로 답변이 달라집니다. – godel9
C로 쓰고, 태그를 업데이트했습니다. –
고마워요.이 경우에는 제 대답이 효과가 있다고 생각합니다. – godel9