Como obtenho uma função para modificar qualquer um dos parâmetros?

Meu objetivo:

Eu tenho que criar uma função que adiciona duas frações.

Eu defini um novostruct (typedef) chamadofraction.

A função não pode ter um tipo de retornofraction, tem que servoid, portanto, ele precisa modificar um dos parâmetros inseridos, como posso conseguir isso? Ponteiros, talvez? Como você modificaria meu código para alcançá-lo?

Este é o meu código:

typedef struct{
    char sign;
    int num;
    int den;
} fraction;

void sum(fraction, fraction, fraction);

int main(void) {

    fraction op1, op2, solution;

    sum(op1, op2, solution);

    return 0;
}

void sum(fraction f1, fraction f2, fraction sol){

    if (f1.sign == '-') {
        f1.num = f1.num * -1;
    }

    if (f2.sign == '-') {
        f2.num = f2.num * -1;
    }

    sol.num = f1.num*f1.den + f2.num*f1.den;
    sol.den = f1.den * f2.den;
    sol.sign = '+';

    if (sol.num < 0) {
        sol.sign = '-';
        sol.num = sol.num * -1;
    }
}

questionAnswers(1)

yourAnswerToTheQuestion