在C中实现队列

时间:2013-04-04 18:51:02

标签: c data-structures queue implementation

struct client
{
char Fname[20];
char Lname[20];
char home_num[10];
char cell_num[10];
char email_add[20];
int client_id;
}; /* ending the client struct*/

char Main_Menu()
{
 char sel;

 int rear=-1;
 int front=-1;
 client clientQueue [size]; -->I keep having an error come up right here, not sure why.
 int isFull(int rear);
 int isEmpty(int rear);

我得到的错误是我声明队列的行。 不太清楚为什么我会收到这个错误,因为当我研究那是我发现的。 p.s大小为20

3 个答案:

答案 0 :(得分:4)

如果这是纯C,则必须使用struct - 关键字

struct client clientQueue [size]; 

size也必须在somwhere中定义。

或者使用typedef之类的

typedef struct client {
    char Fname[20];
    char Lname[20];
    char home_num[10];
    char cell_num[10];
    char email_add[20];
    int client_id;
} client; 

答案 1 :(得分:2)

我认为声明错误,您需要声明如下:

struct client  clientQueue [size];
// ^ add struct key work before client

第二个size必须是一个常量值,在编译时定义。

最好像下面这样使用宏:

# define SIZE 100


struct client  clientQueue [SIZE];

答案 2 :(得分:1)

在c中编码时,需要在声明struct类型的新变量时使用关键字struct或使用typedef

struct client clientQueue [size];