что у тебя в matrux - элементы или указатели ?
ну неважно ...
факт тот, что адрес, полученный от malloc в функции
надо отдать обратно main-у типа так, если я правильно понял, что тебе нужно:
int main()
{
struct RGB_s *Matrux; // это пока неинициализированный ptr
rc = Somefunc(&Matrux); // отдаем его адрес, ф-я должна выделить память и
// инициализировать наш указатель
dosomething(Martux[zzz]->field_of_your_struct);
}
int Somefunc (struct RGB_s **Matrux) // ptr to ptr
{
// для удобства можно завести локальный указатель
struct RGB_s *Temp;
Temp = malloc(....); // отхапали память
if (Temp == NULL) { .....};
*Matrux = Temp; // отдаем адрес отхапанной памяти main-у
// теперь делай что хочешь с этой памятью - хоть тут, хоть в main
}