C 関数について困っています。
これは機能です:
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 プログラムのほんの一部にすぎませんが、このサイクルで失敗することは間違いありません!
助けてください..