01/10/2018, 17:16
Lỗi xuất kích thước mảng được truyền vào hàm trong C
Em viết một hàm con để tính toán kích thước của mảng được truyền vào nhưng kết quả luôn ra 8 ( em nghĩ máy em 64bit nên nó truyền địa chỉ là 8 byte) . Khi em xuất kích thước mảng trong chương trình chính thì kết quả mới ra đúng. Có cách nào giúp em có thể xuất mảng chính xác trong chương trình con không ạ. Em cảm ơn.

Bài liên quan
HI Nguyễn Tuấn Anh.
Bạn cần lấy kích thước mảng để làm gì ? Không nhầm là có hàm nhưng nói chung là thừa @_@! Vì khi code lúc nào bạn cũng có kích thước mảng rồi.
Em code nhúng anh ạ. Giả sử muốn giao tiếp với ECU cần phải truyền đi rất nhiều mảng. Em muốn xây dựng một hàm để tính độ dài mảng, checksum vv… Nếu nhập thủ công bằng tay thì sẽ rất lâu
HI Nguyễn Tuấn Anh.
Chắc khó để làm việc này lắm bạn, vì theo mình biết sizeof là toán tử dùng đo kích cỡ kiểu dữ liệu,
Cho nên dẫn đến kết quả nhận được là khác nhau…
Mình nghĩ dòng 17 là đo kích thước của cả mảng chứ nhể. short int = 2 bytes X 3 phần tử cho ra kết quả là 6 đúng ko
Hi bạn,
Hàm sizeof(ARR) nó sẽ chỉ tính kích thước của con trỏ arr (luôn là 8 bytes với máy 64 bit). Đó là sự khác biệt giữa dùng con trỏ trỏ vào 1 mảng và dùng mảng thông thường.