我试图解决一个在C中使用动态内存分配的问题 . 我应该如何接受变量 Date, Month And Year 的元素,它们是结构 Date 的成员 . 我似乎得到了一个错误 .

invalid type argument of unary '' (have 'int')

printf("%d %d", (Ptr+i)->deptNo, (Ptr+i)->DOJ->Day)

有人可以帮帮我吗?

这是代码

提前致谢,

# include <stdio.h>
# include <stdlib.h> 
struct Date
{
  int Day, Month, Year;
};
struct Employee
{
  int empCode, deptNo;
  char empName[20];
  float empSalary;
  struct Date *DOJ;
};
void readDetails();
void main()
{
  readDetails();
}
void readDetails()
{
  struct Employee *Ptr;
  int n, i;
  printf("\nEnter The Number Of Employees...");
  scanf("%d", &n);
  Ptr=(struct Employee*)malloc(n*sizeof(struct Employee));
   for(i=0;i<n;i++)
    {
      printf("\nEnter Employee Code...");
      scanf("%d", &(Ptr+i)->empCode);
      printf("Enter Employee Name...");
      scanf("%s", &(Ptr+i)->empName);
      printf("Enter Employee Salary...");
      scanf("%f", &(Ptr+i)->empSalary);
      printf("Enter Employee Department Number...");
      scanf("%d", &(Ptr+i)->deptNo);
      printf("Enter Day, Month And Year Of Joining...");
      scanf("%d %d %d", &(Ptr+i)->DOJ->Day, &(Ptr+i)->DOJ->Month, &(Ptr+i)->DOJ->Year);
   }}