¿Cómo hacer un tipo de retorno de matriz de la función C?

He intentado devolver el nombre de la matriz como se muestra a continuación. Básicamente, estoy tratando de hacer que la prueba de función devuelva una matriz que pueda usarse en main. ¿Podría aconsejarme qué necesito leer más para saber cómo realizar una función como esta?

#include <stdio.h>

int test(int size, int x){
    int factorFunction[size];    
    factorFunction[0] = 5 + x;
    factorFunction[1] = 7 + x;
    factorFunction[2] = 9 + x;
    return factorFunction;
}

int main(void){
    int factors[2];
    factors = test(2, 3);
    printf("%d", factors[1]);
    return 0;
}

Recibo los errores del compilador:

smallestMultiple.c:8: warning: return makes integer from pointer without a cast
smallestMultiple.c:8: warning: function returns address of local variable
smallestMultiple.c: In function ‘main’:
smallestMultiple.c:13: error: incompatible types in assignment

Respuestas a la pregunta(12)

Su respuesta a la pregunta