c语言输入数组并逆序输出

输入:
多组测试数据。第一行输入一个整数T表示测试数据组数 每组首先输入1个整数n,然后输入n个整数(不大于20)
输出:
对于每组测试数据按照输入相反的顺序输出n个数据

没给初始值怎么定义数组?

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int T = 0, i = 0, n = 0, j = 0;
    scanf("%d", &T);
    for (i = 0; i < T; i++)
    {
        scanf("%d", &n);
        int* num = (int*)malloc(sizeof(int) * n);
        for (j = 0; j < n; j++)
        {
            scanf("%d", &num[j]);
        }
        for (j = n - 1; j >= 0; j--)
        {
            printf("%d ", num[j]);
        }
        printf("\n");
    }
    return 0;
}