JavaScript is required

What does the following declaration mean? int (*ptr)[10]

A.

ptr is array of pointers to 10 integers

B.

ptr is a pointer to an array of 10 integers

C.

ptr is an array of 10 integers

D.

ptr is an pointer to array

Trả lời:

Đáp án đúng: A


Khai báo `int (*ptr)[10]` có nghĩa là `ptr` là một con trỏ trỏ đến một mảng gồm 10 số nguyên. Giải thích chi tiết: * `int`: Kiểu dữ liệu của các phần tử trong mảng (số nguyên). * `[10]`: Chỉ ra rằng đây là một mảng có 10 phần tử. * `(*ptr)`: `ptr` là một con trỏ. Dấu `()` rất quan trọng vì nó chỉ ra rằng `ptr` là một con trỏ *trỏ đến* một mảng, chứ không phải là một mảng các con trỏ. Nếu không có dấu ngoặc đơn, `int *ptr[10]` sẽ có nghĩa là "`ptr` là một mảng gồm 10 con trỏ đến số nguyên". Vậy, `ptr` lưu trữ địa chỉ của một mảng có 10 phần tử kiểu `int`. Các phương án khác không đúng vì: * A: `ptr` không phải là một mảng, mà là một con trỏ. * C: `ptr` không phải là một mảng, mà là một con trỏ trỏ đến mảng. * D: Thiếu thông tin về kích thước của mảng và kiểu dữ liệu của các phần tử trong mảng.

Câu hỏi liên quan