Você não entendeu bem o que são e como funcionam ponteiros...
Ponteiros indicam endereço da memória, ou seja, indica o local da memória onde se encontra o primeiro bit de um valor armazenado na memória. O tipo da variável ponteiro (float, int, char, etc) indica o comprimento (número de bits) do valor armazenado na memória, além de identificar como este valor deve ser usado/entendido.
Mas toda variável por natureza já possui uma referência indicando o local onde seu valor é armazenado, e em C você pode obter esta referência usando o operador & antes do nome da variável.
Se você lembrar bem você já usa isso frequentemente, na função scanf(). Ou seja, quando você faz algo como:
scanf("%f", &variavelfloat);
Você está passando para a função scanf() a referência que indica o local da memória onde é armazenado o valor da variável "variavelfloat". A função scanf() por sua vez armazenará esta referência num ponteiro do tipo float, assim quando a função fizer alterações no local da memória apontado por este ponteiro estará em efeito alterando o valor da variável "variavelfloat".
Logo no caso da função postada pelo @Arm Outro o modo correto de usá-la no Main do programa seria este:
float valor1, valor2, soma, subtracao, multiplicacao, divisao;...calculadora(valor1, valor2, &soma, &subtracao, &multiplicacao, &divisao);
Assim, você está passando as referências das variáveis "soma", "subtracao", "multiplicacao" e "divisao" para a função, e estas referências são armazenadas nos respectivos ponteiros declarados na função, e as alterações feitas nos endereços de memória apontados por eles (ou seja as operações realizadas na função) estarão alterando os valores destas variáveis no Main do programa, aí o resultado pode ser obtido usando as variáveis normalmente no Main (do mesmo modo que você sempre fez no caso do scanf() ).