I see this all the time and for C it's wrong... for C++ it's right. Be careful of this.
Originally Posted by eXcellion
In C calloc(), malloc() and realloc() return void* which can be assigned to any pointer.
a = calloc(5,sizeof(int*));
//or if allocating an int* instead of an int**
a = calloc(5,sizeof(int));
For the actual problematic code line...
This because you are making space for the struct itself, not a pointer to the struct.
dict->features = (dict->features)calloc(aantal,sizeof(dict->features));
// should be
dict->featuers = calloc(aantal,sizeof(features));