ですので、

void hoge(char temp, int temp_1){
temp = &temp_1;
}

int main(void){
TYPE a;
hoge(a.a, a.b);
hoge(a.a, a.c);
}

この例えのように、すれば関数の数を増やさなくてもいいと思うのですが
こういうことはできないのでしょうか?