我有結構的2維數組,像這樣:在C中設置2d數組的起始內存地址?
struct foo {
int bar;
float baz;
};
實際上,我瞭解操作系統的開發,現在,有一件事我想要做的是產生這些結構的二維陣列尺寸的80x25:
struct foo foobar[80][25];
雖然我需要的顯存開始的地方將其設置爲地址0xb8000
,因爲這是。有什麼辦法可以指定我的數組在哪裏開始的地址?
到目前爲止,我已經試着這樣做:
struct foo foobar[80][25];
*foobar = (struct foo) 0xb8000;
但是,這是行不通的。編輯:也正在做這樣的法律和/或可能的C99標準?
'foo =(struct foo *)0xb8000;' – stackptr
@kaylum良好的捕獲,現在將編輯,謝謝:) – mosmo