C ++의 "struct * struct newStruct (int somedata) {}"구문은 무엇입니까?
Nov 16 2020
나는 C ++로 트리를 만들려고했는데이 코드를 발견했는데 정말 혼란 스러웠다.
struct node
{
int data;
struct node* left;
struct node* right;
};
// The code bellow this is the part i dont understand
struct node* newNode(int idata)
{
node* node = new struct node;
node->data = idata;
node->left = NULL;
node->right = NULL;
return node;
}
무엇 struct node*
입니까? 어떤 종류의 구조이지만 포인터? 또한 구조체는 ;
끝에 있어야하지 않습니까? 예를 들어, node
이 ;
몸의 끝에서가 아니라 node*
?
답변
1 nvjsingh Nov 16 2020 at 03:43
struct node*
함수의 반환 유형이며 newNode()
그 자체는 정의가 아닙니다. 참조하는 라인은 함수의 시그니처입니다 newNode
. 두 개의 중괄호 {} 사이에 함수 정의가옵니다. 함수 정의는 ;
끝에 가 필요하지 않습니다 .