散列(哈希)表中的直接寻址表,有什么用?解决办法

散列(哈希)表中的直接寻址表,有什么用?
散列(哈希)表中的直接寻址表,有什么用?解决办法
我理解的是,要存储的东西是
struct KeyWithData
{
int key;
char* str;
}
存在一个KeyWithData数组里

KeyWithData arr[LEN];

那这样和char* [LEN]有啥区别啊,

------解决方案--------------------
For some applications, the direct-address table itself can hold the elements in the
dynamic set. That is, rather than storing an element’s key and satellite data in an
object external to the direct-address table, with a pointer from a slot in the table to
the object, we can store the object in the slot itself, thus saving space. We would
use a special key within an object to indicate an empty slot. Moreover, it is often
unnecessary to store the key of the object, since if we have the index of an object
in the table, we have its key. If keys are not stored, however, we must have some
way to tell whether the slot is empty.

就是数组啊,它加一个key是为了告诉数组里某一格里是空的.比如你要存int ,你怎么知道第N格里存的是0还是空,就用这种方式.它也说了,key并不是必须的,可以直接存在数组里,数组就是个直接寻址表