Olá, João!
O seu código está correto e faz o cálculo da potência corretamente.
Na função potencia, você está passando o endereço de memória da variável resultado para a função, utilizando o operador &. Isso permite que a função modifique o valor da variável resultado diretamente na memória.
Dentro da função, você utiliza o operador * para desreferenciar o ponteiro e acessar o valor da variável resultado. Assim, você consegue realizar as operações de potenciação corretamente.
No main, você chama a função potencia passando o endereço de memória da variável resultado utilizando o operador &. Dessa forma, a função consegue modificar o valor da variável resultado diretamente na memória.
No final, você imprime o resultado utilizando printf, passando os valores de a, b e resultado.
Se você executar esse código, ele irá calcular corretamente a potência de a elevado a b e imprimir o resultado.
Bons estudos!