A solução proposta foi a seguinte:
matriz = malloc(sizeof(int*) * linhas);
for(int i = 0; i < linhas; i++) {
matriz[i] = malloc(sizeof(int) * (colunas+1));
}Esta solução é semelhante ao raciocínio desenvolvido pelo professor na aula. No entanto, na aula o professor estava tratando de uma matriz de strings (arrays de char), e, segundo entendi, é por este motivo que foi necessário adicionar mais uma coluna ((colunas + 1), em vez de apenas colunas), já que uma string termina necessariamente com um \0.
No entanto, no exercício proposto estamos tratando de um array de int, e não de um array de char. Assim, o correto não seria que a última linha de código ficasse assim?
matriz[i] = malloc(sizeof(int) * (colunas));Obrigado.