一种类型的数组,是另一种类型的数组--C

时间:2016-08-24 12:38:25

标签: c arrays pointers multidimensional-array

我有这段代码:

typedef struct Table* TableP;

typedef struct DataPointer
{
    void* dataP;
    void* key;
}DataPointer;

typedef struct HashTableSet
{
    DataPointer *hashSet[2];
}HashTableSet;

typedef struct Table
{
    int size, d;
    HashTableSet *hashTableSet;
}Table;

void nullTable(size_t)
{
    TableP myTable = (Table*)malloc(size_t*sizeof(HashTableSet)*sizeof(DataPointer);
    Table table = *tableP;
    int i = 0;
    for(; i < tableP->size; i++)
    {
        int j = 0;
        for (; j < MAX_ROW_ELEMENTS ; ++j)
        {
            DataPointer data;
            DataPointer *dataP = &data;
            data.key = NULL;
            data.dataP = NULL;
            table[i][j] = data;
        }
    }
}

我的目标是将Table作为HashTableSet数组,并将HashTableSet作为DataPointer数组,并在null函数中尝试创建表中所有要初始化为NULL的点(atlist指针)。但我收到此错误消息:

 error: subscripted value is neither array nor pointer nor vector
         table[i][j] = data;

那么我做错了什么?我想我需要一些指向指针动作的指针,但我不知道如何在每个维度中都有不同类型的2Dimentional数组的情况下如何做。

0 个答案:

没有答案