嘿, 假設我有以下功能:'動態'在C中使用變量?
#define SIZE 100
double a[SIZE];
double b[SIZE];
double a_function(int index1, int index2)
{
switch(index1)
{
case 1:
return a[1]*a[2]*a[5]*a[3];
case 2:
return a[6]*cos(a[77])*exp(a[95]);
// .............. MUCH MORE CASES
// ALWAYS USING ONLY VALUES OF ARRAY a
case 100:
return exp(a[20])*sin(a[21]);
}
}
我要實現以下目標:index2
比介於0和SIZE-1
,我想在任何情況下使用b[ index2 ]
沒有「取代」每a[ index2 ]
改變switch/case-construct。此外,a和b不能修改,所以它們是隻讀的!
在這個簡單的例子:
a_function(2, index2)
爲索引2 = {6,77,95} - >返回a[6]*cos(a[77])*exp(a[95]);
a_function(2, 6)
- >返回b[6]*cos(a[77])*exp(a[95]);
如何做到這一點任何想法? 也許有一些幫助功能或使用'模板'? 非常感謝!
啊謝謝,看起來很酷。但我只是想知道如果我經常整合這個宏,性能會如何呢? – tim 2011-05-13 21:45:05
再次感謝,它現在正在使用,它的作品就像一個魅力! – tim 2011-05-14 13:45:57