C++函数调用数组参数的传递方式

在 C++ 中,数组作为函数参数有两种传递方式:传递指针和传递引用。

  1. 传递指针: 当将数组作为参数传递给函数时,实际上传递的是数组的首元素的地址。函数内部可以通过指针操作来访问整个数组。例如:

    void foo(int* arr, int size) {
        // 使用指针访问数组
        for (int i = 0; i < size; ++i) {
            cout << arr[i] << " ";
        }
    }

    int main() {
        int arr[] = {1, 2, 3, 4, 5};
        int size = sizeof(arr) / sizeof(arr[0]);
        foo(arr, size);
        return 0;
    }


    在上述示例中,foo() 函数接受一个 int* 类型的指针参数 arr,表示数组的首地址。可以使用指针 arr 访问整个数组。

  2. 传递引用: 可以使用引用作为函数参数来传递数组。这样做的好处是无需显式地指定数组大小,同时在函数内部可以直接使用数组名进行操作。例如:

    void foo(int (&arr)[5]) {
        // 使用引用访问数组
        for (int i = 0; i < 5; ++i) {
            cout << arr[i] << " ";
        }
    }

    int main() {
        int arr[] = {1, 2, 3, 4, 5};
        foo(arr);
        return 0;
    }

     

    在上述示例中,foo() 函数接受一个引用参数 arr,表示数组。函数内部可以直接使用数组名 arr 访问整个数组。

无论是传递指针还是传递引用,都可以在函数内部对数组进行修改,并且这些修改会影响到原始数组。但是需要注意的是,在使用指针或引用参数时,要确保传入的数组不为空,以避免出现空指针引用或越界访问等错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值