Nếu có các khai báo sau. Câu nào sau đây là đúng: char msg[10] char * ptr; char value;
Đáp án đúng: B
Phân tích câu hỏi:
Câu hỏi này kiểm tra sự hiểu biết về con trỏ và mảng trong C, đặc biệt là cách gán địa chỉ cho con trỏ.
Đánh giá các phương án:
- Phương án A: ptr = value;
Câu lệnh này sai.
valuelà một biến kiểuchar, chứa một ký tự. Khi gánvaluechoptr(là một con trỏ kiểuchar *), bạn đang cố gắng gán một giá trị (ký tự) cho một biến lưu địa chỉ. Điều này gây ra lỗi kiểu dữ liệu. - Phương án B: ptr = msg;
Câu lệnh này đúng.
msglà một mảng kiểuchar, và khi sử dụng tên mảng (msg) mà không có chỉ số, nó sẽ tự động chuyển đổi thành một con trỏ đến phần tử đầu tiên của mảng. Vì vậy,ptr = msggán địa chỉ của phần tử đầu tiên trong mảngmsgcho con trỏptr. Kiểu dữ liệu phù hợp (char *).
Kết luận:
Phương án B đúng, phương án A sai.





