0

我想为二维数组分配一个固定的内存地址。例如,对于简单的整数,我们这样做: int *p = (int *)0xabcdf34;

我需要从固定位置开始分配内存,比如 0xf3ab25 到二维数组。我该怎么做。请帮忙。

编辑:我在玩回忆。我想将矩阵的所有内存分配给缓存或主内存。我想检查对计算和运行时间的影响。我正在使用模拟器,所以我有直接地址。假设我想使用 matrix[100][100] 的矩阵

4

2 回答 2

5

像这样的东西:

int foo() {
  int (*p)[10] = (int (*)[10])0xf3ab25;
  return p[3][4];
}
于 2012-10-05T22:55:50.467 回答
0

您无法决定要分配的内存地址,因为您无法决定程序的实际布局。

它由编译器(静态变量)或运行时(自动变量和动态分配的内存)决定

于 2012-10-05T22:52:22.947 回答