If you know for sure that you're dealing with an array of 200 objects, then choose the simplest approach:
Code:
#define NUM_CODIFICATIONS 200
codification codifications[NUM_CODIFICATIONS];
If you don't know at compile time what the number will be, so 200 is just a concrete example or initial number, then:
Code:
size_t num_codifications = 200;
codification *codifications = malloc(sizeof(*codifications) * num_codifications);
But remember to check that codifications is not a null pointer before using it.
Either way, you would use it like this:
Code:
codifications[0].nbits = 4;