int * splitString( char string[], int n )
{
int newArray[n];
return ( newArray );
}
Это очень плохо!Массив newArray
, локальный для функции, уничтожается, когда функция возвращается.У вас не будет висящего указателя, и его использование вызовет неопределенное поведение.
Вы не можете вернуть массив из функции.Лучшее, что вы можете сделать, это
int * splitString( char string[], int n )
{
int *newArray = malloc(n*sizeof(int)); // the array gets allocated on the heap rather than on the stack(1)
// Code
return ( newArray );
}
Не забудьте освободить выделенную память.
(1) Обратите внимание, что стандарт не использует / не определяет термин стек или кучу какнапример.