Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép:
Trả lời:
Đáp án đúng: D
Trong ngôn ngữ lập trình C (và nhiều ngôn ngữ khác), khi làm việc với kiểu dữ liệu cấu trúc (struct), có một số quy tắc gán giá trị cần tuân thủ. Xét các phương án:
- A. Gán biến cho nhau: Đây là một thao tác hợp lệ. Nếu có hai biến cùng kiểu cấu trúc, ta có thể gán giá trị của biến này cho biến kia. Ví dụ:
struct SinhVien a, b; b = a;
- B. Gán hai phần tử mảng (kiểu cấu trúc) cho nhau: Đây cũng là một thao tác hợp lệ. Nếu có một mảng các cấu trúc, ta có thể gán giá trị giữa các phần tử của mảng. Ví dụ:
struct SinhVien danh_sach[10]; danh_sach[0] = danh_sach[1];
- C. Gán một phần tử mảng (kiểu cấu trúc) cho một biến hoặc ngược lại: Đây cũng là một thao tác hợp lệ. Ta có thể gán một phần tử của mảng cấu trúc cho một biến cấu trúc và ngược lại. Ví dụ:
struct SinhVien a, danh_sach[10]; a = danh_sach[0];
hoặcdanh_sach[0] = a;
- D. Gán hai mảng có cấu trúc có cùng số phần tử cho nhau: Đây là thao tác không được phép trong C. Không thể gán trực tiếp hai mảng cho nhau bằng toán tử
=
. Cần phải duyệt qua từng phần tử của mảng và gán giá trị tương ứng.
Vậy, phương án D là phương án không được phép.