Boa noite, Existe alguma forma de eu alocar dinamicamente um array de struct ? Estou procurando alguns exemplos funcionais porém não consigo encontrar nenhum. Abaixo vou exemplificar com código o que gostaria de fazer, lembrando que o código não está funcionando, por isso a minha duvida.
#include <stdlib.h>
#include <stdio.h>
struct pessoa 
{
    int codigo;
    int status;
};
typedef struct pessoa PESSOA;
int main()
{
    PESSOA *ponteiroPessoa; 
    ponteiroPessoa = malloc(2 * sizeof(PESSOA));
    ponteiroPessoa[0]->codigo = 1;
    ponteiroPessoa[0]->status = 1;
    ponteiroPessoa[1]->codigo = 2;
    ponteiroPessoa[1]->status = 2;
    printf("%d \n", ponteiroPessoa[0]->codigo);
    printf("%d \n", ponteiroPessoa[1]->codigo);
    free(ponteiroPessoa[0]);
    free(ponteiroPessoa[1]);
    free(ponteiroPessoa);
    return 0;
} 
            