gpt4 book ai didi

C++ 将多维数组传递给函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:08 24 4
gpt4 key购买 nike

我想通过引用将一个 2x2 数组 A 操作为一个函数,所以我的函数原型(prototype)是:

void myFunction( int A[][2] );

我假设实际传递给函数的只是指向第一个元素的指针(与一维数组一样)。所以在函数内部我做了一个赋值,例如:

(*(A+1))[1] = 2;

To 将更改元素 A[1][1] 的值(即使在我的函数返回之后)。

鉴于 C++ 以这种方式自动通过引用将数组传递给函数,似乎没有必要在我的函数中显式传递指向数组的指针。但是如果我想这样做,我的函数原型(prototype)的正确语法和上面赋值的模拟分别如下吗?

void myFunction( int (*A)[][2] );

(*(*A+1))[1] = 2;

最佳答案

如果您的声明是:

void myFunction( int A[][2] );

你像这样访问数组:

A[1][1] = 2;

当您使用 C++ 而不是 C 时,这不会改变。

关于C++ 将多维数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20814542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com