Trong bài này bọn họ sẽ học cách thực hiện mảng một chiều và mảng 2d trong thiết kế c. Một mảng được sử dụng để lưu trữ tập vừa lòng dữ liệu, cơ mà nó rất có lợi nếu bạn nghĩ về một mảng những biến với cùng 1 kiểu.

Bạn đang xem: Mảng là gì? cách sử dụng mảng trong lập trình c

Bài 12 Trong học lập trình C trường đoản cú A tới Z


Mảng là gì?

Mảng (Array) là một trong tập đúng theo tuần trường đoản cú các thành phần có thuộc kiểu tài liệu và các thành phần được tàng trữ trong một dãy các ô nhớ liên tiếp trên cỗ nhớ. Các bộ phận của mảng được truy hỏi cập bằng cách sử dụng “chỉ số”. Mảng có kích thước N sẽ có được chỉ số từ 0 tới N – 1.

Thay bởi vì khai báo phát triển thành một giải pháp rời rạc, như biến chuyển number0, number1,… cùng number99, bạn cũng có thể khai báo một mảng những giá trị như numbers<0>, numbers<1> với … numbers<99> nhằm biểu diễn các giá trị riêng biệt biệt. Một thành phần ví dụ của mảng có thể được truy cập qua index (chỉ số).

Tất cả mảng đều bao gồm các vị trí nhớ gần cạnh nhau. Địa chỉ thấp nhất khớp ứng với nguyên tố đầu tiền và địa chỉ cao nhất khớp ứng với thành phần ở đầu cuối của mảng.

Cú pháp khai bảo mảng 1 chiều

*

Trong đó:

Array vriable: là tên mảngindex là trị số của mảng, đó là vị trí vào mảng

VD: Khai báo mảng không có giá trị int sohangban<10>;

Khai báo mảng có mức giá trị: int sohangban<5> = 34, 56, 23, 124, 67;

Số lượng những giá trị trong lốt ngoặc kép ko được to hơn số lượng bộ phận khai báo trong vệt ngoặc vuông <>.

Nếu chúng ta bỏ sót form size mảng thì mảng đó đủ bự để giữ những giá trị được khởi tạo: int sohangban<> = 34, 56, 23, 124, 67;

Truy cập các thành phần mảng một chiều trong C

Một mảng được truy vấn bởi giải pháp đánh chỉ số trong tên của mảng. Dưới đó là một cách truy vấn một quý hiếm của mảng:

int luonghangban = sohangban<9>;Ngoài ra chúng ta cũng rất có thể truy cập mảng bởi con trỏ, vẫn học vào rất nhiều phần sau

Ví dụ: Nhập và in ra hàm

#include int main () int n< 10 >; /* với n gom 10 so nguyen */ int i,j; /* khoi tao cac phan tu trong mang ve gia tri 0 */ for ( i = 0; i Kết quả

*

Bài tập nhập, tra cứu kiếm cùng in ra phần tử của mảng

Trong bài bác này, họ sẽ học biện pháp nhập phần tử vào mảng, search kiếm với in ra

#include const int MAX = 100; void NhapMang(int a<>, int n) for(int i = 0;i MAX) printf(" Nhap lai so luong phan tu: "); while(n MAX); printf(" ======NHAP MANG===== "); NhapMang(arr, n); printf(" ======XUAT MANG===== "); XuatMang(arr, n); printf(" ======TIM KIEM====== "); int v; printf(" Nhap vao gia tri can tim: "); scanf("%d", &v); printf(" Tim cầm so %d tai bỏ ra so %d!", v, TimKiem(arr, n, v));

Kết quả

Nhap so luong phan tu: 6======NHAP MANG=====Nhap phan tu a<0> = 1Nhap phan tu a<1> = 2Nhap phan tu a<2> = 5Nhap phan tu a<3> = 7Nhap phan tu a<4> = 8Nhap phan tu a<5> = 2======XUAT MANG=====Phan tu a<0> = 1Phan tu a<1> = 2Phan tu a<2> = 5Phan tu a<3> = 7Phan tu a<4> = 8Phan tu a<5> = 2======TIM KIEM======Nhap vao gia tri can tim: 5Tim chũm so 5 tai đưa ra so 2!

Khai báo mảng đa chiều trong lập trình sẵn C

Mảng nhiều chiều (multi-dimensional array) là một trong biến thể của mảng, trong những số ấy mảng 3d được thực hiện nhiều nhất, rất tương xứng để truy vấn như một bảng dữ liệu. Thực chất mảng nhiều chiều cũng chính là mảng một chiều nhưng khai báo khác nhau 1 chút mà lại thôi

*

Cú pháp khai báo: type arr;

Khi khởi tạo thành mảng 2 chiều có 2 phương thức khới tạo nên giá trị.

Xem thêm: Cách Giải Phương Trình Chứa Căn Lớp 10, Cách Giải Phương Trình Chứa Ẩn Dưới Dấu Căn

Khởi sản xuất kiểu mảng 1 chiều

int x<3><4> = 0, 1 ,2 ,3 ,4 , 5 , 6 , 7 , 8 , 9 , 10 , 11Khởi sản xuất kiểu mảng đa chiều

int x<3><4> = 0,1,2,3, 4,5,6,7, 8,9,10,11;

Ví dụ: Nhập mảng 2 chiều

#include int main (){ int a<5><2> = 0,0, 1,2, 2,4, 3,6,4,8; // hien thi gia tri cua cac phan tu trong với for ( int i = 0; i Kết quả

*

Bài tập nhập, kiếm tìm kiếm với xuất giá trị mảng 2 chiều

Trong bài này, chúng ta sẽ học cách nhập bộ phận vào mảng, search kiếm cùng in ra

#include #include void NhapMaTran(int a<><100>, int m, int n){ for(int i = 0; i TimKiem(int a<><100>, int m, int n, int v) for(int i = 0; i rs = TimKiem(a, m, n, v); printf(" Tim nạm so %d tai hang %d, cot %d!", v, rs.first, rs.second);Kết quả

nhap so hang n = 4nhap so cot m = 3nhap vao ma tran:A<0><0> = 1A<0><1> = 2A<0><2> = 3A<0><3> = 4A<1><0> = 5A<1><1> = 6A<1><2> = 7A<1><3> = 8A<2><0> = 1A<2><1> = 21A<2><2> = 4A<2><3> = 441 2 3 45 6 7 81 21 4 44Nhap vao gia tri can tim: 6Tim cố kỉnh so 6 tai hang 1, cot 1!

Kết

Mảng 1 chiều và mảng 2 chiều được thực hiện rất nhiều khi lưu trữ dữ liệu, trên đây cũng là 1 trong kiểu dữ liệu trong kết cấu dữ liệu cơ mà các bạn sẽ học ở những phần sau.

Nếu thấy bổ ích hãy phân chia sẻ bài viết và gia nhập nhóm Nghiện Lập Trình để gặp mặt và học hỏi và giao lưu nhé