อาร์เรย์คือกลุ่มของรายการที่เกี่ยวข้องซึ่งจัดเก็บด้วยชื่อสามัญ
การประกาศอาร์เรย์
ไวยากรณ์สำหรับการประกาศอาร์เรย์มีดังนี้ −
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