如何为另一个结构内的结构分配内存?

时间:2015-04-30 06:33:24

标签: c hash

我的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分配那个大小的内存?我有像htable->table = new HashNode [htable->size];这样的C ++代码。如何使用malloc在C中写这个?

1 个答案:

答案 0 :(得分:0)

您可以这样分配内存

htable->table = malloc(size*sizeof(HashNode))