1. Mảng vào C là gì?1.5 Đầu vào và đầu ra của các thành phần của mảng2. Mảng đa chiều trong lập trình C2.1 Khởi sinh sản một mảng nhiều chiều3. Hàm với mảng vào C3.1 Truyền những mảng vào hàm trong lập trình sẵn CTruyền các phần tử mảng riêng rẽ lẻTruyền mảng nhiều chiều vào một trong những hàm

Trong nội dung bài viết này, các bạn sẽ được tò mò về cách thao tác làm việc với những mảng trong C (ngôn ngữ lập trình), biện pháp khai báo, khởi tạo và truy cập vào từng phần tử của một mảng vào C thông qua các ví dụ.

Bạn đang xem: Bài 41

*
*

1. Mảng vào C là gì?

Mảng trong C là 1 trong những biến có thể lưu trữ những giá trị. Ví dụ, nếu muốn lưu trữ 100 số nguyên, chúng ta cũng có thể tạo một mảng để lưu trữ chúng.

int data<100>;

1.1 làm thế nào để khai báo mảng vào C?

dataType arrayName;

Ví dụ,

float mark<5>;

Trong lấy một ví dụ này, tôi vẫn khai báo mảng mark của dạng hình floating-point. Và kích thước của nó là 5. Bao gồm nghĩa là, nó có thể chứa được 5 giá trị số thực.

Điều đặc biệt nhất mà bạn cần lưu ý chính là bạn không thể chuyển đổi được kích thước và dạng hình của một mảng sau khoản thời gian đã khai báo xong.

1.2 truy cập vào các bộ phận của mảng

Bạn hoàn toàn có thể truy cập vào các phần tử của mảng bằng các chỉ mục. Trả sử chúng ta đã khai báo mảng mark như trên. Thành phần đầu tiên chính là mark<0>, thành phần thứ 2 đó là mark<1>,…

Cụ thể là:

Các mảng bao gồm số 0 được xem là chỉ mục đầu tiên. Ví dụ như mark<0> là phần tử đầu tiênNếu kích cỡ của một mảng là n, để truy cập vào phần từ thời điểm cuối cùng, thì bạn cần sử dụng n-1 chỉ mục. Trong ví dụ này, chính là mark<4>Giả sử địa chỉ bắt đầu của mark<0> là 2120d. Sau đó, showroom của mark<1> sẽ là 2124d. Tương tự, showroom của mark<2> sẽ là 2128d,…

Lưu ý, kích thước của một trở thành float là 4 byte.

1.3 Làm vắt nào để khởi tạo một mảng vào C?

Bạn có thể khởi tạo ra một mảng trong quá trình khai báo. Ví dụ,

int mark<5> = 19, 10, 8, 17, 9;

Bạn hoàn toàn có thể khởi sản xuất một mảng như sau

int mark<> = 19, 10, 8, 17, 9;

Trong ví dụ như này, tôi chưa chỉ định kích cỡ cụ thể. Tuy nhiên, trình biên dịch vẫn biết được kích cỡ của mảng này là 5 vì chưng tôi sẽ khởi tạo nên nó cùng với 5 bộ phận là

mark<0> is equal to lớn 19

mark<1> is equal to 10

mark<2> is equal to 8

mark<3> is equal lớn 17

mark<4> is equal khổng lồ 9

1.4 thay đổi giá trị của các thành phần của mảng

int mark<5> = 19, 10, 8, 17, 9

// make the value of the third element to lớn -1

mark<2> = -1;

// make the value of the fifth element khổng lồ 0

mark<4> = 0;

1.5 Đầu vào và áp ra output của các phần tử của mảng

Dưới đó là cách mà bạn cũng có thể lấy tài liệu mà người tiêu dùng nhập vào và tàng trữ nó trong một phần tử mảng.

// take input & store it in the 3rd element

​scanf(“%d”, &mark<2>);

// take input and store it in the ith element

scanf(“%d”, &mark);

Còn dưới đây là cách mà bạn cũng có thể in 1 phần tử chưa có người yêu của một mảng.

// print the first element of the array

printf(“%d”, mark<0>);

// print the third element of the array

printf(“%d”, mark<2>);

// print ith element of the array

printf(“%d”, mark);

Ví dụ 1: Đầu vào và đầu ra của mảng

// Program to take 5 values from the user và store them in an array

// Print the elements stored in the array

#include

int main() {

int values<5>;

printf(“Enter 5 integers: “);

// taking input and storing it in an array

for(int i = 0; i Ví dụ 2: Tính mức độ vừa phải cộng

// Program khổng lồ find the average of n numbers using arrays

#include

int main()

{

int marks<10>, i, n, sum = 0, average;

printf(“Enter number of elements: “);

scanf(“%d”, &n);

for(i=0; i1.6 truy vấn vào các phần tử phía bên ngoài giới hạn

Giả sử chúng ta khai báo mảng trong C gồm 10 phần tử

int testArray<10>;

Bạn có thể truy cập vào các phần từ bỏ mảng trường đoản cú testArray<0> cho testArray<9>.

Trường vừa lòng nếu bạn nỗ lực truy cập testArray<12>, thì thành phần này ko sẵn có. Điều này dẫn đến việc đầu ra mà các bạn nhận được sẽ không đúng như mong mỏi đợi. Hoặc hoàn toàn có thể lập trình có khả năng sẽ bị lỗi, mà lại trong một số trường hợp, xây dựng của chúng ta cũng có thể chạy thiết yếu xác.

Do đó, chúng ta không nên truy vấn vào các phần tử mảng nằm bên ngoài giới hạn.

2. Mảng nhiều chiều trong thiết kế C

Trong phần này, các bạn sẽ được học tập cách thao tác với mảng đa chiều (mảng nhị hoặc tía chiều) trải qua các ví dụ.

Trong lập trình sẵn C, bạn cũng có thể tạo một mảng bao hàm nhiều mảng. Mọi mảng này được hotline là mảng đa chiều. Ví dụ,

float x<3><4>;

Trong ví dụ như này, x là 1 mảng 2 chiều(2d). Mảng này chứa 12 phần tử. Mảng này giống hệt như một bảng tất cả 3 hàng cùng mỗi hàng có 4 cột.

Bạn cũng rất có thể khai báo một mảng tía chiều theo cách tựa như như trên. Ví dụ,

float y <2> <4> <3>;

Ở đây, mảng y rất có thể chứa 24 phần tử.

2.1 Khởi tạo thành một mảng đa chiều

Dưới trên đây là phương pháp để khởi tạo thành mảng nhị chiều cùng mảng cha chiều:

Khởi tạo mảng 2 chiều

// Different ways lớn initialize two-dimensional array

int c<2><3> = 1, 3, 0, -1, 5, 9;

int c<><3> = 1, 3, 0, -1, 5, 9;

int c<2><3> = 1, 3, 0, -1, 5, 9;

Khởi tạo ra mảng 3 chiều

Bạn rất có thể khởi tạo nên mảng 3 chiều theo cách tương tự như khởi chế tạo ra mảng 2 chiều. Ví dụ,

int test<2><3><4> =

3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2,

13, 4, 56, 3, 5, 9, 3, 5, 3, 1, 4, 9;

Ví dụ 1: mảng 2 chiều dùng để làm lưu trữ với in các giá trị

// C program to store temperature of two cities of a week và display it.

#include

const int thành phố = 2;

const int WEEK = 7;

int main()

{

int temperature;

// Using nested loop to store values in a 2 chiều array

for (int i = 0; i Ví dụ 2: Tổng của 2 ma trận

// C program to find the sum of two matrices of order 2*2

#include

int main()

{

float a<2><2>, b<2><2>, result<2><2>;

// Taking đầu vào using nested for loop

printf(“Enter elements of 1st matrix ”);

for (int i = 0; i Ví dụ 3: Mảng bố chiều

// C Program to store and print 12 values entered by the user

#include

int main()

{

int test<2><3><2>;

printf(“Enter 12 values: ”);

for (int i = 0; i 3. Hàm cùng mảng trong C

3.1 Truyền các mảng vào hàm trong lập trình sẵn C

Trong phần này, các bạn sẽ được học phương pháp truyền các mảng (cả mảng một chiều cùng mảng nhiều chiều) vào hàm trong thiết kế C trải qua các ví dụ.

Trong xây dựng C, bạn có thể truyền toàn thể mảng vào các hàm. Trước tiên, tôi đang giới thiệu cho chính mình về phương pháp để truyền các thành phần riêng lẻ của một mảng vào những hàm.

Truyền các thành phần mảng riêng biệt lẻ

Truyền các phần tử mảng vào hàm tương tự như như truyền những biến vào hàm.

Xem thêm: Giải Thuật Toán Tìm Kiếm Nhị Phân (Binary Search), Giải Thuật Tìm Kiếm Nhị Phân (Binary Search)

Ví dụ 1: Truyền một mảng

#include

void display(int age1, int age2)

printf(“%d ”, age1);

printf(“%d ”, age2);

int main()

int ageArray<> = 2, 8, 4, 12;

// Passing second & third elements lớn display()

display(ageArray<1>, ageArray<2>);

return 0;

Đầu ra

8

4

Ví dụ 2: Truyền những mảng cho các hàm

// Program to calculate the sum of array elements by passing to lớn a function

#include

float calculateSum(float age<>);

int main()

float result, age<> = 23.4, 55, 22.6, 3, 40.5, 18;

// age array is passed to calculateSum()

result = calculateSum(age);

printf(“Result = %.2f”, result);

return 0;

float calculateSum(float age<>) {

float sum = 0.0;

for (int i = 0; i Truyền mảng nhiều chiều vào một trong những hàm

Để truyền mảng đa chiều vào một trong những hàm, bạn chỉ việc truyền thương hiệu của mảng vào hàm là được (tương từ như mảng một chiều).