我想將修復內存地址分配給二維數組。 舉例來說,對於簡單的整數,我們可以這樣做: int * p =(int *)0xabcdf34;如何將二維數組的指針指向C/C++中的內存地址
我需要分配內存從修復位置開始說0xf3ab25到一個二維數組。我該怎麼做。請幫忙。編輯: 我正在玩的回憶。我想將矩陣的所有內存分配給緩存或主內存。我想檢查對計算和運行時間有什麼影響。我正在使用模擬器,所以我有直接的地址。 假設我想使用矩陣矩陣[100] [100]
我想將修復內存地址分配給二維數組。 舉例來說,對於簡單的整數,我們可以這樣做: int * p =(int *)0xabcdf34;如何將二維數組的指針指向C/C++中的內存地址
我需要分配內存從修復位置開始說0xf3ab25到一個二維數組。我該怎麼做。請幫忙。編輯: 我正在玩的回憶。我想將矩陣的所有內存分配給緩存或主內存。我想檢查對計算和運行時間有什麼影響。我正在使用模擬器,所以我有直接的地址。 假設我想使用矩陣矩陣[100] [100]
您無法決定要分配的內存地址,因爲您無法確定程序的真實佈局。
它是由編譯器(靜態變量),或在運行時(自動變量和動態分配的內存)
事情是這樣的決定:
int foo() {
int (*p)[10] = (int (*)[10])0xf3ab25;
return p[3][4];
}
這將在一般情況下工作?我認爲在這個問題上面對這個問題可能不是個好主意。 –
關於它的思考...我正在刪除downvote,直到我們從OP獲得更多信息。很難敲你回答這個問題。 –
我不是他媽媽,我只是回答這個問題。是的,'p' *是一個二維數組。此代碼編譯得很好並生成正確的地址算術([3] [4]的讀取位於距初始化地址136個字節的偏移處)。 –
爲什麼?這解決了什麼問題?聽起來就像你問我們[解決你的問題的最後10%是沒有道理的。](http://blogs.msdn.com/b/oldnewthing/archive/2006/03/23/558887.aspx)。我可能是錯的,但有些環境會很好,因爲在幾乎所有情況下都是錯誤的。 –
也許不是固定的地址,但我肯定會遇到這個地址由'malloc'提供的地址。 –