Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

จะส่งทั้งอาร์เรย์เป็นอาร์กิวเมนต์ในภาษา C ได้อย่างไร


อาร์เรย์คือกลุ่มของรายการที่เกี่ยวข้องซึ่งจัดเก็บด้วยชื่อสามัญ

การประกาศอาร์เรย์

ไวยากรณ์สำหรับการประกาศอาร์เรย์มีดังนี้ −

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