Hỏi về cấu trúc struct?

Cách 1;

struct node
{ 
      int key;
     node*ref
};

Cách 2;

typedef struct node*ref;
struct node{
int key;
ref next;
};

1.Cho mình hỏi sự khác biệt của 2 cách trên ?
2.Nếu mình khai báo thêm ref head=NULL thì nó sẽ trỏ vào đâu ?
Cảm ơn các bạn ^^

  1. Cách thứ hai thì có thêm dòng typedef để abstract away.
    Thực ra cách 2 đúng hơn (ko ai gọi thành phần đó là ref cả).

  2. Vào NULL :slight_smile:

trả lời như thế ai mà hiểu bạn :grinning:

Hi Taivuong95.
Bạn tim hiểu thêm về từ khóa tyoedef rồi lên đây hỏi tiếp.

1 Like


Trong C:
Nếu không dùng typedef thì muốn khai báo biến với struct đó thì dùng:
struct MyStruct a;
Để giản lược từ khóa struct thì thêm Typedef:
typedef struct MyStruct newtype;
=> newtype a;
Trong C++: có thể khai báo biến mà không cần từ khóa struct phía trước, vì vậy cũng không cần thiết phải dùng typedef:
MyStruct a;

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?