30/09/2018, 18:30

Thắc mắc khai báo cấu trúc cây nhị phân?

struct TNode
{
        int data;
        TNode *pLeft, *pRight;
};
typedef TNode *Tree; //???

void InitTree(Tree &t)
{
       t = NULL;
}

typedef TNode *Tree; có phải là khai báo biến con trỏ Tree trỏ về kiểu dữ liệu TNode, nếu đúng như vậy thì tại sao chỗ hàm InitTree ta lại dùng Tree là một kiểu dữ kiệu??

Gió viết 20:38 ngày 30/09/2018

Có nghĩa là Tree<=> TNode *

Interns viết 20:43 ngày 30/09/2018

TNode *

có nghĩa là gì nhỉ???
cái trên khác với khai báo này như thế nào nhỉ typedef TNode Tree; ( typedef chắc là khai báo không tường minh, Tree là cách viết gọn của TNode có đúng không nhỉ)

viết 20:44 ngày 30/09/2018

Tức là nó tạo ra 1 cái tên mới cho TNode* là Tree, cho đỡ mất công gõ TNode*

Interns viết 20:35 ngày 30/09/2018

typedef TNode* Tree; khác với typedef TNode Tree; như thế nào nhỉ @RimCones

viết 20:37 ngày 30/09/2018

Khác nhau là 1 cái là TNode* và cái kia là TNode

viết 20:32 ngày 30/09/2018

Bạn cứ thứ 2 trường hợp rồi chạy chương trình bạn sẽ thấy sự khác nhau. Đó là 1 cách học tốt đấy

Bài liên quan
0