Code:

#include "stdio.h"
#include "conio.h"

typedef struct NgayThang{
  unsigned char Ngay;
  unsigned char Thang;
  unsigned int Nam;
};
typedef struct NgayThang * ptrNgayThang;

//nhap ngay thang
NgayThang Nhap() {
   NgayThang nT;
   printf("\tNhap ngay: ");
   scanf("%d",&nT.Ngay);
   printf("\tNhap thang: ");
   scanf("%d",&nT.Thang);
   printf("\tNhap nam: ");
   scanf("%d",&nT.Nam);
   return nT;
}
//nhap n ngay thang
ptrNgayThang Nhap(unsigned int n) {
   ptrNgayThang temp = new NgayThang[n];
   for(unsigned int i = 0; i<n; i++)
   {
      printf("Nhap ngay thu %d: \n",i);
      temp[i] = Nhap();
   }
   return temp;
}
//xuat 1 ngay thang
void Xuat(NgayThang nT)
{
   printf("%d-%d-%d  ",nT.Ngay,nT.Thang,nT.Nam);
}
//xuat n ngay thang
void Xuat(ptrNgayThang temp, unsigned int n) {
   for(unsigned int i = 0; i<n; i++)
   {
      Xuat(temp[i]);
   }
}
//chuong trinh chinh
void main()
{
   clrscr();
   ptrNgayThang p;
   unsigned int n;
   printf("Nhap vao so ngay thang n = ");
   scanf("%d",&n);
   p = Nhap(n);
   printf("Danh sach ngay thang vua nhap:\n");
   Xuat(p,n);
   getch();
}