01/10/2018, 13:48
Thắc mắc về tính độ lớn của mảng
E có 1 mảng như trong hình. Nếu e đưa mảng vào hàm thì sau khi tính kích thước nó tăng lên 1 còn nếu không để trong hàm nó vẫn giữ nguyên. Anh(chị) giải thích giúp e với ạ. E cảm ơn
Bài liên quan
Bản chất không phải vậy.
arr[7]
đúng là 7 byte nên ở main() sẽ hiện 7 (phần tử). Nhưng tham số hình thứcarr
là con trỏ (8 byte). Bản chất của vđ là: mảng (raw array) đều truyền bằng con trỏ, còn T[] hay T* có thể dùng để phân biệt truyền mảng hay (truyền) tham biến (nhưng tham số cho C-string toàn làchar*
)a cho e hỏi thêm. Nếu muốn tính độ lớn của mảng đó trong hàm thì mình làm ntn ạ
dạ e cảm ơn :v :v :v
Hi trinhhuyhoang.
Tốt nhất là bạn truyền kích thước mảng vào. Việc tính size như vậy thực sự là việc làm vô ích.
C/C++ qui định kích thước của 1 mảng tĩnh phải là const, nên bắt buộc phải truyền kích thước của mảng vào hàm!
Còn đây là 1 số cách tính size của array: https://stackoverflow.com/questions/4108313/how-do-i-find-the-length-of-an-array