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

Cách mảng được truyền cho các hàm trong C / C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để hiểu cách các mảng được truyền cho các hàm.

Trong trường hợp C / C ++, các mảng được chuyển đến một hàm ở dạng con trỏ cung cấp địa chỉ cho phần tử đầu tiên của mảng.

Ví dụ

#include <stdio.h>
//passing array as a pointer
void fun(int arr[]){
   unsigned int n = sizeof(arr)/sizeof(arr[0]);
   printf("\nArray size inside fun() is %d", n);
}
int main(){
   int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
   unsigned int n = sizeof(arr)/sizeof(arr[0]);
   printf("Array size inside main() is %d", n);
   fun(arr);
   return 0;
}

Đầu ra

Array size inside main() is 8
Array size inside fun() is 2