귀하의 코드는 연결 목록의 작은 부분 일뿐입니다.
귀하의 목록은 “Node”라고 부르는 n 개의 구조체로 구성됩니다. FIRST에 대한 포인터가 필요합니다.이 포인터는이 첫 번째 구조체의 메모리 위치를 알려줍니다 (보통 malloc을 사용하여 수동으로 공간을 요청합니다). 이 메모리 블록의 구조는 “Node”구조체에 의해 정의됩니다. 먼저 int에 대해 몇 바이트가 있고 (sizeof int가 mutch 방법을 알려줍니다) 주소에 대해 몇 바이트가 있다는 것을 알려줍니다 (이것은 “next”포인터입니다). 연결 목록의 마지막 항목에서 일반적으로 다음 값으로 null을 사용하여 활성 항목이 마지막 항목인지 확인할 수 있습니다. 목록에 항목을 추가하려면 메모리를 malloc하고 마지막 항목의 다음 포인터를 malloc이 제공 한 메모리 위치로 변경해야합니다. (그리고 방금 만든 항목의 다음 포인터를 null로 설정하는 것을 잊지 마십시오.)
이 방법으로 연결 목록이 작동합니다. 이것이 조금 도움이되기를 바랍니다!
댓글
이것은 유형 정의의 일부입니다. 그 자체로는 아무것도 가리 키지 않습니다. 같은 이유로 집의 청사진에 그려진 거실 안에 진짜 소파와 TV를 놓을 수 없습니다. 단순히 “이것은 여기에 가야하는 것”을 지정합니다.
연결된 목록에서 다음 노드를 가리키는 방식은 누군가가 실제로 노드를 생성 할 때 필드에 값을 할당한다는 것입니다. 다른 Node
의 주소를 포함하는 포인터 인 해당 정의에 의해 설명됩니다.