Which of the following declaration is not supported by C?

5 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "string a;". C không có kiểu chuỗi dựng sẵn; một chuỗi trong C là mảng char kết thúc bằng ký tự có mã 0, vì vậy tên kiểu string không tồn tại trong ngôn ngữ và dòng khai báo đó chỉ dịch được nếu chính người lập trình tạo ra cái tên ấy bằng typedef hoặc struct. Khai báo "float a = 3e2;" hợp lệ, vì 3e2 là cách viết khoa học của 300.0, một hằng số thực. Khai báo "int* a;" hợp lệ, dấu sao viết sát tên kiểu chỉ là cách trình bày, trình biên dịch vẫn đọc ra con trỏ tới int. Khai báo "float *a;" cũng vậy, khoảng trắng quanh dấu sao không mang nghĩa nào với bộ phân tích cú pháp. Khai báo "char * a;" là con trỏ tới char, dạng quen dùng để trỏ vào chuỗi, hoàn toàn đúng cú pháp. Bốn dòng vừa nêu đều là khai báo chuẩn, chỉ cái tên kiểu không hề tồn tại mới bị loại.

Cùng phần 2

Xuất hiện trong 2 bộ đề