Em học về mảng nhưng sao ko khai báo i=1 thì a[1]=…trong mảng sẽ dễ hình dung hơn. Mà em thấy trong sách toàn dùng i=0. Em ko hiểu ạ?
Tại sao i=0 mà không phải i=1 trong vòng lập for trong mảng một chiều?
Tại phần tử mảng đầu tiên là a[0] chứ không phải a[1]. Người ta đã quy ước thế
1 Like
Quy định mảng là đếm từ 0 rồi bạn, nó rõ ràng như là số 0 sẽ đứng trước số 1 vậy.
2 Likes
Bởi vì người ta quy ước sẵn rồi bạn :’|
tại vì biến mảng cũng là con trỏ trỏ đến phần tử đầu tiên của mảng, nên chỉ số 0,1,2,3… là để cộng thêm vào con trỏ đó để tìm địa chỉ và giá trị của phần tử tiếp theo trong mảng, bởi vì trong bộ nhớ mảng là dải địa chỉ liên tục mà
bonus: array[3]= *(array+3)= *(3+array)=3[array]. để tìm giá trị của phần tử thứ 3 thì bạn viết là array[3] hay 3[array] cũng được.
Hãy đếm từ 0 thay vì đếm từ 1. Công việc sẽ dễ dàng hơn.