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

การส่งผ่านอาร์เรย์ไปยังฟังก์ชัน C++


C++ ไม่อนุญาตให้ส่งผ่านอาร์เรย์ทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน อย่างไรก็ตาม คุณสามารถส่งตัวชี้ไปยังอาร์เรย์ได้โดยการระบุชื่ออาร์เรย์โดยไม่มีดัชนี

หากคุณต้องการส่งอาร์เรย์มิติเดียวเป็นอาร์กิวเมนต์ในฟังก์ชัน คุณจะต้องประกาศพารามิเตอร์อย่างเป็นทางการของฟังก์ชันด้วยวิธีใดวิธีหนึ่งจากสามวิธีต่อไปนี้ และวิธีการประกาศทั้งสามวิธีให้ผลลัพธ์ที่คล้ายคลึงกัน เนื่องจากแต่ละวิธีบอกคอมไพเลอร์ว่าตัวชี้จำนวนเต็มกำลังดำเนินอยู่ ที่จะได้รับ

มี 3 วิธีในการส่งผ่านอาร์เรย์ไปยังฟังก์ชัน -

  • พารามิเตอร์ทางการเป็นตัวชี้

void myFunction(int *param) {
   // Do something
}
  • พารามิเตอร์ทางการเป็นอาร์เรย์ขนาด

void myFunction(int param[10]) {
   // Do something
}

  • พารามิเตอร์ทางการเป็นอาร์เรย์ที่ไม่มีขนาด

void myFunction(int param[]) {
   // Do something
}

ตัวอย่าง

คุณสามารถใช้มันได้ดังนี้ -

#include<iostream>
using namespace std;
void arrayAccept(int arr[]) {
   cout << "first element is: " << arr[0];
}
int main() {
   int arr[2];
   arr[0] = 0;
   arr[1] = 1;
   arrayAccept(arr);
   return 0;
}

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ -

first element of array is 0