Computer >> Máy Tính >  >> Lập trình >> C ++

Truyền một mảng cho một hàm C ++


C ++ không cho phép chuyển toàn bộ mảng làm đối số cho một hàm. Tuy nhiên, bạn có thể chuyển một con trỏ đến một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục.

Nếu bạn muốn truyền một mảng một chiều làm đối số trong một hàm, bạn sẽ phải khai báo tham số chính thức của hàm theo một trong ba cách sau và cả ba phương thức khai báo đều cho kết quả tương tự vì mỗi phương thức cho trình biên dịch biết rằng một con trỏ số nguyên đang hoạt động sẽ được nhận.

Có 3 cách để truyền một mảng cho một hàm -

  • Tham số chính thức dưới dạng con trỏ

void myFunction(int *param) {
   // Do something
}
  • Tham số chính thức dưới dạng một mảng có kích thước

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

  • Tham số chính thức dưới dạng một mảng chưa định kích thước

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

Ví dụ

Bạn có thể sử dụng nó như sau -

#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;
}

Đầu ra

Điều này sẽ cung cấp đầu ra -

first element of array is 0