这次是关于使用结构作为参数。在这个任务中,我必须创建一个 FIFS 队列系统。静态人员队列的大小为 10。这意味着队列中只能有 10 人。
我还有静态类型的变量头、尾和 nbr_elem。tail 变量用于将人员添加到特定位置。反之亦然,用于可变头。nbr_elem 是队列中的人数。我认为您不需要更多信息来帮助我。现在的问题:
如何在函数中使用结构作为参数?这是我到目前为止所做的:
static person queue[QUEUE_MAX_SIZE];
static int head = 0, tail = 0, nbr_elem = 0;
struct person
{
char first_name[7];
char sur_name[10];
char pers_nbr[10];
};
void person_info(struct person p1){
/*printf("First name: ");*/
scanf("%s", &p1.first_name[7]);
/* printf("Last name: ")*/;
scanf("%s", &p1.sur_name[10]);
/*printf("Id-number: ");*/
scanf("%s", &p1.pers_nbr[10]);
}
到目前为止一切都很好,但现在我必须通过首先使用 strcpy 函数复制 inf 然后将其放入数组 person queue[QUEUE_MAX_SIZE] 我猜(?)
void enqueue( person queue[QUEUE_MAX_SIZE])
{
queue[person_info(p1.first_name[7])];
}
我什至不知道这是否是函数入队的一个好的开始,所以我需要一些帮助。以及如何在函数中使用静态人员队列[QUEUE_MAX_SIZE]?
我还有一个包含 typedef 人的头文件 queue.h。然后将头文件调用到该文件的 queue.c 中。