Arrays - Short Flashcards
https://www.youtube.com/watch?v=K1yC1xshF40
Mảng là một cấu trúc dữ liệu cơ bản và chúng cực kỳ hữu ích!
Chúng tôi sử dụng các mảng để giữ các giá trị cùng loại tại các vị trí bộ nhớ liền kề.
Một cách để tương tự hóa khái niệm mảng là nghĩ về bưu điện địa phương của bạn, nơi thường có rất nhiều hộp thư bưu điện.
Trong C, các phần tử của mảng được lập chỉ mục bắt đầu từ 0.
. Đây là một trong những lý do chính mà chúng tôi đếm từ con số không!
Nếu mảng gồm n phần tử thì phần tử đầu tiên nằm ở chỉ số 0. Phần tử cuối cùng nằm ở chỉ số (n-1).
C rất khoan dung. Nó sẽ không ngăn bạn “vượt quá giới hạn” của mảng của bạn; hãy cẩn thận!
Không báo lỗi trong quá trình biên dịch nhưng sẽ gặp lỗi phân đoạn khi chạy.
Khai báo mảng:
type name[size];
Loại là loại biến mà mỗi phần tử của mảng sẽ là.
Tên là những gì bạn muốn gọi cho mảng của mình.
Kích thước là số lượng phần tử bạn muốn mảng của mình chứa.
Nếu bạn nghĩ về một phần tử duy nhất của một mảng kiểu dữ liệu giống như bất kỳ biến kiểu dữ liệu nào khác (thực tế, nó là như vậy) thì tất cả các thao tác quen thuộc đều có ý nghĩa.
Khi khai báo và khởi tạo một mảng đồng thời, có một cú pháp đặc biệt có thể được sử dụng để lấp đầy mảng với các giá trị bắt đầu của nó.
// instantiation syntax
bool truthtable[3] = { false, true, true };
Có thể trở nên cồng kềnh khi khai báo một mảng có kích thước 100, rồi phải nói, phần tử 0 bằng cái này; phần tử 1 bằng cái này; phần tử 2 bằng đó.
Mảng có thể bao gồm nhiều hơn một chiều. Bạn có thể có nhiều thông số kích thước như bạn muốn.
bool battleship[10][10];
Bạn có thể chọn coi đây là một lưới ô 10x10.
Tuy nhiên, trong bộ nhớ, nó thực sự chỉ
là một mảng một chiều 100 phần tử.
Mảng đa chiều là sự trừu tượng hóa
tuyệt vời để giúp trực quan hóa bảng trò
chơi hoặc các biểu diễn phức tạp khác.
Mặc dù chúng ta có thể coi các phần tử riêng lẻ của mảng là biến, nhưng chúng ta không thể coi toàn bộ mảng là biến.
Chẳng hạn, chúng ta không thể gán một mảng cho một mảng khác bằng cách sử dụng toán tử gán. Điều đó không hợp pháp C.
Thay vào đó, chúng ta phải sử dụng một vòng lặp để sao chép từng phần tử một.
Trong những ngôn ngữ lập trình khác, những ngôn ngữ hiện đại, bạn có thể thực hiện bằng cú pháp bằng. Nhưng trong C thì không được.