【问题标题】:Pass 2D array to function by reference通过引用将二维数组传递给函数
【发布时间】:2012-08-05 10:01:23
【问题描述】:

所以在我的主要功能中,我正在创建一个二维数组:

int dataDim = 100;
float inData[2][dataDim];

我想将它传递给一个函数,在那里我可以用数据填充它。如何以我可以直接填写的方式传递它?也许

function(float** array)

然后访问array[0][0] 可能不起作用?奇怪的是我怎么找不到任何关于这个的简单例子。

【问题讨论】:

标签: c arrays pointers reference


【解决方案1】:

在 C 中,必须知道多维数组的大小才能这样传递,但如果您愿意,可以省略某些大小。

准确

void function(float array[][100]); 
void function(float (*array)[100]);

语法有效

尽管编译器可能会合法地忽略大小2

void function(float array[2][100]);

【讨论】:

  • 还有void function(float (*array)[100])
猜你喜欢
  • 2018-09-11
  • 2021-03-24
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 2020-11-01
相关资源
最近更新 更多