อาร์เรย์คือกลุ่มของรายการที่เกี่ยวข้องซึ่งจัดเก็บด้วยชื่อสามัญ
การประกาศอาร์เรย์
ไวยากรณ์สำหรับการประกาศอาร์เรย์มีดังนี้ −
datatype array_name [size];
การเริ่มต้น
อาร์เรย์สามารถเริ่มต้นได้สองวิธี ได้แก่ −
- คอมไพล์การเริ่มต้นเวลา
- การเริ่มต้นรันไทม์
อาร์เรย์ยังสามารถเริ่มต้นได้ในขณะที่ประกาศดังนี้ -
int a[5] = {100,200,300,400,500};
ฟังก์ชัน
ฟังก์ชันคือบล็อกที่มีอยู่ในตัวเองซึ่งทำงานเฉพาะที่กำหนดไว้อย่างดี สองวิธีในการส่งอาร์เรย์เป็นอาร์กิวเมนต์ไปยังฟังก์ชันมีดังนี้ −
-
การส่งทั้งอาร์เรย์เป็นอาร์กิวเมนต์ไปยังฟังก์ชัน
-
ส่งแต่ละองค์ประกอบเป็นอาร์กิวเมนต์เพื่อการทำงาน
ตอนนี้ ให้เราเข้าใจวิธีการส่งทั้งอาร์เรย์เป็นอาร์กิวเมนต์เพื่อใช้งานในภาษา C
ส่งทั้งอาร์เรย์เป็นอาร์กิวเมนต์ไปยังฟังก์ชัน
-
หากต้องการส่งทั้งอาร์เรย์เป็นอาร์กิวเมนต์ ให้ลองส่งชื่ออาร์เรย์ในการเรียกใช้ฟังก์ชัน
-
ในการรับอาร์เรย์ทั้งหมด ต้องประกาศอาร์เรย์ในส่วนหัวของฟังก์ชัน
ตัวอย่างที่ 1
อ้างถึงตัวอย่างด้านล่าง −
#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]); }
ผลลัพธ์
เมื่อโค้ดข้างต้นถูกคอมไพล์และดำเนินการ โค้ดดังกล่าวจะทำให้เกิดผลลัพธ์ดังต่อไปนี้ −
Enter 5 elements 10 20 30 40 50 Elements of the array are 10 20 30 40 50
ตัวอย่างที่ 2
ต่อไปนี้เป็นโปรแกรม C เพื่อพิมพ์องค์ประกอบในลำดับที่กลับกันจากอาร์เรย์ -
#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]); } }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นถูกคอมไพล์และดำเนินการ มันจะให้ผลลัพธ์ดังต่อไปนี้ -
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