我试图解决一个在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);
}}