我必须计算“array [val.a] [val.b] [val.c] [val.d]”被调用了多少次。对于ex数组[0] [1] [2] [1]从一些其他函数调用一次。我是通过使用4d阵列来实现它的 能够得到正确的结果。有没有一种有效的方法呢?
typedef struct
{
int a; // value of 0<=a<10
int b; // 0<=b<10
int c; // 0<=c<5
int d; //0<=d<3
}addr;
int array[10][10][5][3]; // memory used = 10*10*5*3*4bytes= 6Kbytes
// Is there a way I do not have to use the array .
void countOccurences(addr val)
{
array[val.a][val.b][val.c][val.d]++; //giving me correct results.
}
答案 0 :(得分:1)
高效?在时间或记忆? 你如何做到这一点非常有效。对记忆不好。 但它不是 坏。
6kB什么都没有。除非您的编程是ic或其他东西:P。无论如何,你的程序必须比6kB大很多,所以这应该是可以忽略不计的。