Em đang đọc về mảng 2 chiều thì gặp vấn đề như trên:
Em hiểu int *a[5]; là khai báo mảng 5 con trỏ; còn int (*a)[5]; là gì ạ? Tại sao 2 cái này lại khác nhau?
Em đọc thêm thì thấy mảng (vd: int arr[5] ) thực chất không phải là một con trỏ mà được dùng như 1 con trỏ. M.n có thể giải thích bản chất của arr là sao không ạ? arr có kiểu là gì? Em thấy người ta dùng:
int arr[5] = {1, 2, 3, 4, 5};
int (*a)[5];
a = &arr; // Là sao @@
cout << (*a)[2]; // Sẽ in ra 3
Tks!
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?