我有一个简单的函数Bar
,它使用一组数据集中的一组值,这些值是以数据结构数组的形式传入的。数据可以来自两个来源:一个常量初始化的默认值数组或一个动态更新的缓存。如何将常量数组或变量数组传递给C中的函数?
调用函数决定哪些数据被使用,应该传递给Bar
。 Bar
不需要编辑任何数据,实际上不应该这样做。我应该如何声明Bar
的数据参数,以便我可以提供两组数据?
union Foo
{
long _long;
int _int;
}
static const Foo DEFAULTS[8] = {1,10,100,1000,10000,100000,1000000,10000000};
static Foo Cache[8] = {0};
void Bar(Foo* dataSet, int len);//example function prototype
请注意,这是C,而不是C++,如果这有所作为;
编辑
哦,还有一件事。当我使用示例原型时,我得到了一个类型限定符不匹配的警告,(因为我传递一个可变引用到一个const数组?)。我需要改变什么?
+1,只是因为我很高兴仍然有些人不会标记他们的问题'C/C++'并在两者之间做出区别:D – ereOn 2010-06-15 15:20:48