void func(int *array, int *number);

int main(void)
{
int *array_data, number;
func(array_data, &number);
(array_dataを表示する処理など...)
return 0;
}

void func(int *array, int *number)
{
int data[50], data_number, i;
(50個以下で入力したデータをdataに格納する処理など...)
//data_numberはdataに格納されてるデータの個数です
for(i = 0, i < data_number; i++) array[i] = data[i];
*number = data_number;
}

こうすると、値が割り当てられていないローカルな変数array_dataに対して参照が行われたとエラーがでます。
func(array_data, &number);の前にmallocするとか、あらかじめarray_data[50];とかって
領域を確保しておけばエラーはでないのですが、void func()内で得たデータ分だけの領域を
確保したいのです。