Mảng là một nhóm các mục có liên quan được lưu trữ với một tên chung.
Khai báo mảng
Cú pháp khai báo một mảng như sau -
datatype array_name [size];
Khởi tạo
Một mảng có thể được khởi tạo theo hai cách, như sau -
- Khởi tạo thời gian biên dịch.
- Khởi tạo thời gian chạy.
Một mảng cũng có thể được khởi tạo tại thời điểm khai báo như sau -
int a[5] = {100,200,300,400,500};
Chức năng
Hàm là một khối khép kín thực hiện một nhiệm vụ cụ thể đã được xác định rõ. Hai cách truyền mảng làm đối số cho các hàm như sau -
-
Gửi toàn bộ mảng dưới dạng đối số cho hàm.
-
Gửi các phần tử riêng lẻ dưới dạng đối số cho hàm.
Bây giờ, chúng ta hãy hiểu cách gửi toàn bộ mảng dưới dạng đối số cho hàm trong ngôn ngữ C.
Gửi toàn bộ mảng dưới dạng đối số cho hàm
-
Để gửi toàn bộ một mảng dưới dạng đối số, hãy thử gửi tên mảng trong lệnh gọi hàm.
-
Để nhận toàn bộ một mảng, một mảng phải được khai báo trong tiêu đề hàm.
Ví dụ 1
Tham khảo một ví dụ được đưa ra bên dưới -
#include<stdio.h> main ( ){ void display (int a[5]); int a[5], i; clrscr( ); printf ("enter 5 elements"); for (i=0; i<5; i++) scanf("%d", &a[i]); display (a); // Sending entire array ‘a’ using array name getch( ); } void display (int a[5]) {//receiving entire array int i; printf ("elements of the array are"); for (i=0; i<5; i++) printf("%d ", a[i]); }
Đầu ra
Khi đoạn mã trên được biên dịch cùng nhau và được thực thi, nó tạo ra kết quả sau -
Enter 5 elements 10 20 30 40 50 Elements of the array are 10 20 30 40 50
Ví dụ 2
Sau đây là chương trình C để in các phần tử theo thứ tự ngược lại từ mảng -
#include<stdio.h> void main(){ //Declaring the array - run time// int array[5],i; void rev(int array[5]); //Reading elements into the array// printf("Enter elements into the array: \n"); //For loop// for(i=0;i<5;i++){ //Reading User I/p// printf("array[%d] :",i); scanf("%d",&array[i]); } //Displaying reverse order of elements in the array// printf("The elements from the array displayed in the reverse order are : \n"); rev(array); // Sending entire array ‘a’ using array name getch(); } void rev(int array[5]){ //receiving entire array int i; for(i=4;i>=0;i--){ //Displaying O/p// printf("array[%d] :",i); printf("%d\n",array[i]); } }
Đầu ra
Khi chương trình trên được biên dịch cùng nhau và được thực thi, nó sẽ tạo ra kết quả sau -
Enter elements into the array: array[0] :23 array[1] :34 array[2] :12 array[3] :56 array[4] :12 The elements from the array displayed in the reverse order are: array[4] :12 array[3] :56 array[2] :12 array[1] :34 array[0] :23