我的C代码中有2种结构。我想用这两个结构编写一个哈希函数。所以我想在第一种情况下将数据初始化为null。我的代码是
struct HashNode
{
char username[20];
char password[20];
};
struct HashTable
{
int size;
struct HashNode *table;
};
HashTable *initializeTable(int size)
{
HashTable *htable;
if (size < MIN_TABLE_SIZE)
{
printf("Table Size Small\n");
return NULL;
}
htable = (HashTable *)malloc(sizeof(Hashtable));
if (htable == NULL)
{
printf("memory allocation pblm\n");
return NULL;
}
htable->size = size;
}
如何为具有该大小的
htable->table
分配内存?我在C ++中有类似htable->table = new HashNode [htable->size];
的代码。如何使用malloc
用C编写此代码? 最佳答案
您可以通过这种方式分配内存
htable->table = malloc(size*sizeof(HashNode))