我的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))

08-16 20:52