我在c语言中写了一些与数据结构有关的代码;显然,我将使用指针来引用内部元素。但这在我尝试将存储的指针复制到temp指针时出错了:原始指针可以正常工作,但是temp指针只会导致整个程序崩溃。
我尝试了多种方法来解决此问题...类型转换,声明,甚至是指针的指针;他们都没有工作。恐怕主要问题是两个指针持有相同的地址,这可能会导致冲突。但是我不确定如何解决这个问题。
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
}
此外,我使用链接列表存储指针,因此问题可能也出在链接列表中。如有必要,我会更新代码。