Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau: { head->next->next->info=111;};
Trả lời:
Đáp án đúng: B
Câu lệnh `head->next->next->info = 111;` thực hiện các bước sau:
1. `head`: Truy cập vào địa chỉ của phần tử đầu tiên trong danh sách móc nối mà `head` đang trỏ tới.
2. `head->next`: Truy cập vào con trỏ `next` của phần tử đầu tiên, con trỏ này trỏ tới phần tử thứ hai trong danh sách.
3. `head->next->next`: Truy cập vào con trỏ `next` của phần tử thứ hai, con trỏ này trỏ tới phần tử thứ ba trong danh sách.
4. `head->next->next->info`: Truy cập vào thành viên `info` của phần tử thứ ba.
5. `head->next->next->info = 111`: Gán giá trị 111 cho thành viên `info` của phần tử thứ ba.
Do đó, câu lệnh này sẽ thay đổi giá trị của trường `info` trong phần tử thứ ba của danh sách liên kết.