JavaScript is required

Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trỏ sẽ được dùng:1- Sinh viên 1:struct SV{char ht[25] int tuoi; struct Sv *tiep;};2- Sinh viên 2:typedef struct SV node; struct SV{char ht[25] int tuoi; node *tiep;};3- Sinh viên 3:typedef struct SV{char ht[25] int tuoi; struct SV *tiep;} node;

A.

1.

B.

2.

C.

2 và 3.

D.
1, 2 và 3.
Trả lời:

Đáp án đúng: D


Để tạo một danh sách liên kết, mỗi nút (node) trong danh sách cần chứa một con trỏ đến nút tiếp theo trong danh sách. Con trỏ này phải có kiểu dữ liệu là kiểu của chính cấu trúc đó (tức là tự trỏ). * **Sinh viên 1:** `struct SV{char ht[25]; int tuoi; struct Sv *tiep;};` * Khai báo này đúng. `struct Sv *tiep;` khai báo một con trỏ `tiep` kiểu `struct Sv`, trỏ đến một cấu trúc `SV` khác. * **Sinh viên 2:** `typedef struct SV node; struct SV{char ht[25]; int tuoi; node *tiep;};` * Khai báo này cũng đúng. `typedef struct SV node;` tạo một bí danh (alias) `node` cho kiểu `struct SV`. Sau đó, `node *tiep;` khai báo một con trỏ `tiep` kiểu `node`, tức là kiểu `struct SV`, trỏ đến một cấu trúc `SV` khác. * **Sinh viên 3:** `typedef struct SV{char ht[25]; int tuoi; struct SV *tiep;} node;` * Khai báo này cũng đúng. `typedef struct SV{char ht[25]; int tuoi; struct SV *tiep;} node;` vừa định nghĩa cấu trúc `SV`, vừa tạo bí danh `node` cho cấu trúc đó. `struct SV *tiep;` khai báo một con trỏ `tiep` kiểu `struct SV`, trỏ đến một cấu trúc `SV` khác. Vì cả ba sinh viên đều khai báo đúng, đáp án đúng là D.

Câu hỏi liên quan