【发布时间】:2016-02-07 00:28:24
【问题描述】:
我正在为我的 C 课做一些作业,但我不知道如何处理这个问题。我被告知“从堆中分配一个带有 htsize 存储桶的哈希表,每个存储桶最初都是空的。”我已经通过命令行参数指定了 htsize,并在以下代码中将其设为全局变量:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int htsize;
int main(int argc, char *argv[])
{
if (argc <= 1)
{
printf("Please declare a table size");
return 1;
}
htsize = atoi(argv[1]);
}
但我不确定“从堆中分配”意味着什么。有人可以帮我分解一下吗?
【问题讨论】:
-
C 有no standard hash table。您应该得到一个可以使用的库,或者任务是自己编写一个。无论哪种方式,问题都完全不清楚。
-
@MicroVirus 我必须自己创建一个,我只需要澄清“从堆中分配”的方向是什么
-
从堆中分配意味着动态分配。您将不得不使用 malloc 来实现这一点。你知道哈希表的概念吗?
-
我可以详细说明一件事:从堆中分配的意思是使用
malloc或类似的方法。
标签: c hashtable heap-memory