newBlock = (blockPropStruct*)malloc(maxNum*sizeof(blockPropStruct));
Для того, чтобы вышеприведенный оператор работал, текущий исходный файл должен видеть размер структуры.Итак, проверьте, включили ли вы соответствующий заголовочный файл.
extern struct blockPropStruct *newBlock;
А когда вы делаете -
newBlock[i].left_up.x=mark1[i];
Вы должны перенести определение blockPropStruct
втекущий модуль компиляции, чтобы иметь возможность использовать его членов.Итак, попробуйте -
#include "blockPropStruct.h"
extern struct blockPropStruct *newBlock; // This says to use else where
// initialized newBlock
// ....
newBlock[i].left_up.x=mark1[i]; // And to do this, bring the definition
// to this file scope
И нет необходимости явно набирать malloc
.