関数で配列へのポインターを渡して、それを戻そうとしています。問題は、正しく初期化した後、関数が NULL ポインターを返すことです。私のロジックの問題は何ですか?
配列が宣言されている私の関数は次のとおりです。
void main()
{
int errCode;
float *pol1, *pol2;
pol1 = pol2 = NULL;
errCode = inputPol("A", pol1);
if (errCode != 0)
{
return;
}
// using pol1 array
c = getchar();
}
そして、ここに初期化を伴う関数があります:
int inputPol(char* c, float *pol)
{
pol= (float *) calloc(13, sizeof( float ) );
while( TRUE )
{
// While smth happens
pol[i] = 42;
i++;
};
}