01/10/2018, 14:58

'ref' trong 'typedef struct node * ref' có ý nghĩa gì?

Mình chưa hiểu rõ dòng typedep struct node * ref và việc dùng ref đó có ý nghĩa gì? Đó có được coi là 1 kiểu dữ liệu tự định nghĩa hay không? .Mong mọi người giúp đỡ.

typedef struct node * ref;
struct node {
int key;
ref next;
};
Phong Vũ viết 17:12 ngày 01/10/2018

Theo như t hiểu thì.

typedef struct node * ref;

sẽ định nghĩa kiểu dữ liệu ref là kiểu dữ liệu node*;
khi khai báo:

ref next;

Có nghĩa là node* next;

Thân Hoàng viết 17:11 ngày 01/10/2018

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

Hình như bạn viết hơi ngược, phải là :
struct node {
int key;
ref next;
};
typedef struct node * ref;

Câu lệnh này cũng tương tự define thông thường, chỉ khác là nó định nghĩa cho struct node thành *ref.
*rep lúc này sẽ là kiểu CON TRỎ lưu giá trị của struct node.

Thay vi bạn khai báo một con trỏ p bằng cách: ref *p; thì bây giờ bạn chỉ cần ref p; thì p đã tự là con trỏ rồi.

Bài liên quan
0