У меня есть структура, которая выглядит следующим образом:Доступ к Гибкому члену массива в C
typedef struct TestCase TestCase;
typedef struct TestCase {
char * userName;
TestCase *c[]; // flexible array member
} TestCase;
И в другом файле я пытаюсь установить гибкий элемент массива в NULL, но это, кажется, не работа (я не позволил изменить, как это было определено)
void readIn(FILE * file, TestCase ** t) {
*t = malloc(sizeof(TestCase));
(*t)->c = NULL; //gives the error
}
Я использую двойные указатели, потому что это то, что было указано для меня (это не весь код, а просто snipit). (Так как есть и код позже, чтобы освободить выделенные переменные).
Любая помощь была бы принята с благодарностью.
какая ошибка вы получаете? –
«Недопустимое использование элемента гибкой матрицы» – Geded
см. Это http://stackoverflow.com/questions/28718198/how-to-access-array-of-flexible-arrays-in-cache-friendly-manner – zangw