Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在堆栈ADT中声明各种TypeDef_C_Struct_Abstract Data Type - Fatal编程技术网

C 在堆栈ADT中声明各种TypeDef

C 在堆栈ADT中声明各种TypeDef,c,struct,abstract-data-type,C,Struct,Abstract Data Type,我的问题是:我需要实现一个FIFO/LIFO列表堆栈作为ADT种类1。我的程序是模块化的,它有一个项。h模块: #ifndef ITEM_H_INCLUDED #define ITEM_H_INCLUDED typedef struct { char stringa[20]; int numero; } Item; #endif // ITEM_H_INCLUDED head.h模块: #ifnd

我的问题是:我需要实现一个FIFO/LIFO列表堆栈作为ADT种类1。我的程序是模块化的,它有一个
项。h
模块:

    #ifndef ITEM_H_INCLUDED
    #define ITEM_H_INCLUDED

    typedef struct
    {
        char stringa[20];
        int numero;
    } Item;        
    #endif // ITEM_H_INCLUDED
head.h
模块:

#ifndef HEAD_H_INCLUDED
#define HEAD_H_INCLUDED

#include <stdio.h>
#include <stdlib.h>

#include "item.h"  

void QUEUEinit();
int QUEUEempty();
void QUEUEput_top(Item);
void QUEUEput_bottom(Item);
Item QUEUEget_top();
Item QUEUEget_bottom();

#endif // HEAD_H_INCLUDED
#如果包含NDEF头
#定义包含的头部
#包括
#包括
#包括“项目h”
void QUEUEinit();
int QUEUEempty();
无效队列放置在顶部(项目);
底部(项目)无效;
Item QUEUEget_top();
Item QUEUEget_bottom();
#endif//包括头
main.c和data.c;我需要的是如何声明
quenode结构
以及在何处声明


感谢您的帮助:)

由于您的队列*函数都没有收到
QUEUEnode*
,因此您可以将其与
QUEUEnode根一起隐藏在head.c文件中他们操作的对象


如果您想使用多个队列,那么它可能应该位于head.h文件中,以便可以在main.c中创建它们。为此,您还需要修改函数以接受要操作的队列。

由于您的队列*函数都没有接收到
QUEUEnode*
,因此您可以将其与
QUEUEnode根一起隐藏在head.c文件中他们操作的对象


如果您想使用多个队列,那么它可能应该位于head.h文件中,以便可以在main.c中创建它们。为此,您还需要修改函数以接受要操作的队列。

我相信这篇文章应该能回答您的问题。或多或少,但它不处理指针。我需要的是在报头中声明QUEUEnode的te指针,然后在data.cSo中定义te结构,即“声明QUEUEnode的指针”,你的意思是设置函数来传递QUEUEnode指针吗?对不起,我解释得很糟糕;我需要的是如何在模块data.c中声明一个结构,以及如何在head中声明他的指针。或多或少,但它不处理指针。我需要的是在报头中声明QUEUEnode的te指针,然后在data.cSo中定义te结构,即“声明QUEUEnode的指针”,你的意思是设置函数来传递QUEUEnode指针吗?对不起,我解释得很糟糕;我需要的是如何在模块data.c中声明一个结构,并在head.h中声明他的指针