Nếu bạn sử dụng nó để tính toán trong một hàm, tôi khuyên bạn nên sử dụng mảng ô, vì chúng thuận tiện hơn để xử lý, cảm ơn ví dụ: đến CELLFUN. Tuy nhiên, nếu bạn sử dụng nó để lưu trữ dữ liệu (và trả về đầu ra), tốt hơn là trả về cấu trúc, vì tên trường là (nên) tự ghi lại tài liệu, vì vậy bạn không cần nhớ thông tin nào bạn đã có trong cột 7 của mảng ô của bạn. Ngoài ra, bạn có thể dễ dàng bao gồm một trường 'trợ giúp' trong cấu trúc của bạn, nơi bạn có thể đặt thêm một số giải thích về các trường, nếu cần.
Cấu trúc cũng hữu ích cho việc lưu trữ dữ liệu vì bạn có thể cập nhật mã của bạn sau này, thay thế chúng bằng các đối tượng mà không cần thay đổi mã của bạn (ít nhất là trong trường hợp bạn đã gán trước cấu trúc của mình)). Chúng có cùng sytax, nhưng các đối tượng sẽ cho phép bạn thêm nhiều chức năng hơn, chẳng hạn như các thuộc tính phụ thuộc (tức là các thuộc tính được tính toán trên bay dựa trên các thuộc tính khác).
Cuối cùng, lưu ý rằng các ô và cấu trúc thêm một vài byte trên không cho mọi trường. Do đó, nếu bạn muốn sử dụng chúng để xử lý một lượng lớn dữ liệu, bạn nên sử dụng các cấu trúc/ô chứa mảng hơn là có mảng lớn các cấu trúc/ô nơi các trường/phần tử chỉ chứa vô hướng.
Với mảng ô, bạn cần một số dữ liệu meta để xác định nội dung ô. Các tên trường được chọn cẩn thận làm cho mã của bạn tự giải thích. – zellus