Я написал несколько кодов, связанных со структурой данных в c;очевидно, я бы использовал указатели для ссылки на внутренние элементы. Но это пошло не так, когда я попытался скопировать сохраненный указатель на временный указатель: оригинальный указатель работает отлично, но временный указатель просто вызывает сбой всей программы.
Я пытался решить эту проблему многими способами ... приведение типов, объявление, даже указатель на указатели;никто из них не работал. Боюсь, что главная проблема - два указателя с одинаковым адресом, что может привести к конфликту;но я просто не знаю, как решить эту проблему.
struct element {
int id;
int age;
int salary;
}
...generate elements...
for (int i = 0; i < elementsLength; i++) {
struct element* tempPtr = (struct element*) malloc (sizeof (struct element));
tempPtr = (struct element*) retrieveFromLinkedList; // function that returns a void pointer, needs type casting... at least I thought so
int tempAge = tempPtr -> age; // cursh here
}
Кроме того, я использовал связанный список для хранения своих указателей, поэтому проблема также может быть в связанном списке. Я бы обновил коды при необходимости.