Ponteiros para Função em struct

Olá pessoas, tenho uma dúvida relacionada a Ponteiros em C. Abaixo vou escrever uma estrutura exemplo para ilustrar minha dúvida:

typedef struct tagCALC {
   
  void (*func)(void);

} Calc ;

void soma();
int main()
{
  Calc calc = { soma };
  calc.func();

  return 0;
}

void soma() { printf()...}

Minha dúvida é… ao final de um trecho de código como este é necessário setar o Ponteiro que aponta para função como null ‘\0’ ?

Pois no geral eu sempre limpo a memória alocada principalmente quando uso malloc, e quando há a nececessidade de criar ponteiros que apontam para variáreis tipo *int valor = &x; eu sempre seto o apontador como null quando não estou mais utilizando. Então fiquei na dúvida.

Obrigado, abraços.

Pare entender isso, você precisa entender os Tipos de Memoria.

Static, Heap e Stack.

Static - Memoria Estática, quem utiliza essa parte da memoria é as variáveis e métodos estáticos.

Ex: static int i;

Para Static será deslocada quando finalizar o programa.

Heap - Quando você aloca memoria para seu ponteiro na RAM

Ex: int* i = new int;

Para Heap é necessário desalocar memoria utilizando free ou delete.

Stack - Quando você aloca memoria somente no seu escopo.

Ex: int i;

Para Stack não é necessário desalocar devido a variavel somente existir naquele escopo { }