Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Mảng được truyền cho hàm như thế nào trong C/C++


Trong hướng dẫn này, thảo luận mảng được truyền cho hàm như thế nào.

Trong C/C++, mảng được truyền cho hàm dưới dạng con trỏ (pointer) cung cấp địa chỉ phần tử đầu tiên của mảng.

Ví dụ

#include 
// truyền mảng như con trỏ
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;
}

Kết quả

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