【发布时间】:2018-02-03 15:11:06
【问题描述】:
我想测试一个名为queue_empty() 的函数并检查它是否真的创建了一个空队列。这是测试另一个函数的函数的代码:
void create_empty_test()
{
// Creates empty list.
queue *q=queue_empty(NULL);
// Verify that list is empty.
if (????) {
//error message.
fprintf(stderr, "FAIL. New queue is not empty!\n");
// clean up .
queue_kill(q);
// Exit with error.
exit(EXIT_FAILURE);
}
// Everything okay
queue_kill(q);
}
问号的地方应该写什么?抱歉,如果这个问题不好,我对 C、队列、列表和指针等真的很陌生。我感谢所有答案和解释。
【问题讨论】:
-
取决于
queue是什么。你没有表现出来。 -
到目前为止,您所拥有的是
q = queue_empty(NULL),它表面上为您提供了一个指向空队列的有效指针。根据queue的结构,你需要知道一个空的是什么样子的。您还没有指出queue的含义,所以这里没有人可以为您回答。这 ????会检查q->something是否有 NULL 或类似的东西,但这只是基于您提供的少量信息的有根据的猜测。