C 在堆栈ADT中声明各种TypeDef
我的问题是:我需要实现一个FIFO/LIFO列表堆栈作为ADT种类1。我的程序是模块化的,它有一个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
项。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中声明他的指针