Я пытаюсь увеличить значение struct (int) только для проверки моего фрагмента кода (это не весь мой код), просто точка фокуса моего вопроса. Я дал:-структуруУвеличивающий член struct segfaults
typedef struct Test Test;
typedef struct Test {
char * name;
int numOfElements;
Test * test[];
}Test;
Как также функции:
void startFunc(Test ** newStruct) {
newStruct = malloc(sizeof(Test));
(*newStruct)->name = NULL;
(*newStruct)->numOfElements = 0;
func(newStruct);
}
void func(Test ** newStruct) {
(*newStruct)->numOfElements++;
}
//create function to later free allocated memory
Однако увеличивающееся значение numOfElements кажется сегментация. Это тот факт, что я не выделить достаточно памятей (Так как я использую гибкий элемент массива?)
Я попытался с помощью Valgrind и получил недопустимое чтение размера 8 на (*newStruct)->name =NULL;
Что бы предложить это не malloced, помощь памяти здесь будет очень признательна,
Так что я должен таНос как двойной указатель и указатель одного? У меня есть функция (не показана здесь), которая получает аргумент с двойным указателем, поэтому я не был так уверен. – KLIK
Я отредактировал мой код, чтобы точно отобразить заголовок функции, которую я даю (я вынужден использовать двойные указатели). – KLIK