【发布时间】:2011-08-13 07:02:08
【问题描述】:
我有一个文件 queue.c,它在 C 中定义了一个队列。如何使 3 个独立的队列相互独立?我对 C 不是很有经验,我一直在 OO 的角度思考它,我知道我不能那样做。
#include <stdio.h>
#include <stdlib.h>
struct Node
{
char data;
struct Node *next;
} *Head, *Tail;
void addCharacter(char c)
{
struct Node *temp1, *temp2;
temp1 = (struct Node *)malloc(sizeof(struct Node));
temp1->data = c;
temp2 = Tail;
if(Head == NULL)
{
Head = temp1;
Head->next = NULL;
Tail = Head;
}
else
{
Tail = temp1;
temp1->next = NULL;
temp2->next = temp1;
}
}
void deleteCharacter()
{
struct Node *temp1 = Head;
Head = temp1->next;
free(temp1);
}
int replaceCharacter(char c)
{
Head->data = c;
}
int main() {}
那是我的队列,我拥有的另一个 C 文件基本上是:
#include "queue.h"
我不知道从那里去哪里......
【问题讨论】:
-
OO 是一种设计风格,而不是语言特性。使用它在 C 中编程没有任何问题。将对象定义为结构,将指向它们的指针传递给每个“方法”(没有隐含的“自我”,所以你必须明确地做),你就快到了。