我对C函数有一些麻烦。C - 使用指针和函数for循环的分段错误
这是函数:
int* CalcMeanPower(int Media[], int** MeanPowerArray, int righe, int colonne)
{
int i=0, k=0;
int ArrayPower[] = {0, 0, 0, 0};
for (i=0; i<righe; i++)
{
for (k=0; k<colonne; k++)
{
ArrayPower[k] = ArrayPower[k] + MeanPowerArray[i][k] ;
}
}
for (k=0; k<colonne; k++)
{
Media[k] = (ArrayPower[k]/righe);
}
return Media;
}
这是我的呼叫从主功能:
VettoreMedia = CalcMeanPower(VettoreMedia,RefMeanPower,num_mean,N);
,其中各变量的定义如下:
int* RefMeanPower[N];
int* VettoreMedia;
int N=4, num_mean=5;
当我尝试运行它返回我分割故障而试图做方案:
for (k=0; k<colonne; k++)
{
Media[k] = (ArrayPower[k]/righe);
}
能否请您给我解释一下我做错了什么?我已经通过网络搜索,但我找不到答案。这个函数只是我C程序的一小部分,但我确信它在这个循环中会出错!
请帮助..
是'ArrayPower'足够大? '殖民地'的价值是什么?最有可能的是你要结束数组。 – cdarke 2013-02-18 16:51:11
由于太局部化而关闭。 – djechlin 2013-02-18 16:54:44
你不显示如何为int * RefMeanPower [N]分配存储空间; int * VettoreMedia; – OldProgrammer 2013-02-18 16:55:43