링크 된 목록을 사용하여 스택을 구현하고 싶습니다.더블 포인터 문제 해결
내 스택에 pop()을 구현하려면 호출자가 내 스택 상단 (링크 된 목록의 첫 번째 항목)을 가리키는 이중 포인터 (포인터에 대한 포인터)를 전달해야합니다.
이렇게하는 이유는 호출자가 정적 포인터를 스택에 유지할 수 있기 때문입니다.
내 링크리스트의 요소 구조체 :
struct Element {
int value;
struct Element *next;
};
팝업() 구현 :
int pop (struct Element **stack) {
int popped_value = *stack->value;
*stack = *stack->next;
return popped_value;
}
내가 가진 문제는 이중 포인터 ** 스택 역 참조에 노력하고있다. 내 마음 속에서
error: request for member ‘value’ in something not a structure
error: request for member ‘next’ in something not a structure
중 * stack-> 값 또는 ** stack.value이 popped_value를 검색하는 작업을해야하지만, 나는 동일한 오류가 발생합니다 :이 코드는 다음과 같은 오류가 발생합니다.
그냥 좋은 올 '스택 -> 다음'을 사용하십시오 – Kapichu