2016-10-29 2 views
0

는 ++로 정의된다. 4, 'struct'는 노드 * 앞에 쓰여 있습니까? 특별한 목적이 있습니까? 왜냐하면 제가 글을 쓰지 않으면 아무런 문제가 없기 때문입니다. 이 질문에 중복이 생겨서 죄송합니다. 나는 BTW를 찾을 수 없었다.구조 노드 *가 구조체 노드 내부에 쓰여지는 이유는 무엇입니까? 왜 라인에 <pre><code>struct node { whatever data; struct node* pointerToAnyLinkedNode; } </code></pre> <p></p> 지금 질문은 번호 : 나는 C에서 많은 시간 노드 클래스를 본 적이

+0

당신은 우리에게 문맥과 의미에 대한 자세한 내용을 말해 줄 수, 공평하게하려면? 연결된 목록 구현에 사용되는 일반적인 패턴입니다. C++의 경우'struct'를 사용하는 것은 선택 사항입니다. –

+0

C 코드가 아니고 C++ 이었습니까? 두 언어는 서로 다른 언어입니다. (유사점이 있지만) – UnholySheep

+1

"node * pointerToLinkedNode"라고 쓰면 어떨까요? 모든 샘플 코드에서 큐 또는 트리 또는 데이터 구조에 관계없이 "struct node * pointerToLinkedNode"를 볼 수 있습니다. –

답변

4

그것은이 관용구는 C에서 유래하기 때문이다 (여기서 구조체이 시작 struct로 이름이되어야한다 유형) 및 지역 사회의 복사/사실에 대해 생각하기보다는, 온라인 자습서에서 자신의 코드를 붙여 넣 ++은 C의 불안 큰 비율 그들이하는 일.

은 (당신이 이유없이, C++ 코드에서 사방 struct tm을 볼 이유도 있습니다.) C++에서

struct 키워드는 여기에 중복됩니다. 당신이 헤더를 작성하고 C 프로그램과의 호환성을 목표로하는 경우

그 그것을 떠나 좋은 이유가 있습니다.

+0

실제로 C에서 나무를 구현 해요 + + 그래서 내가 여기에 구조체를 사용하지 않는 것이 좋을 것 같아요. 이 정교한 설명에 감사드립니다. –

+0

@AbdulMateen : C++ 책을 확인하고 싶을 수도 있습니다. 'struct'와'class'는 거의 동일합니다. 유일한 차이점은'struct'의 _default_ 접근은'public :'입니다. – MSalters

+0

@AbdulMateen : 키워드'struct'는 이미 _class_를 정의합니다. MSalters가 말한 것은 거의 사실입니다. –