如何传递未知大小的二维数组作为方法参数
我试图传递一个二维数组,其大小可以是动态的,作为方法参数。
在该方法中,我想使用具有通用数组语法的数组。
int item = array[row][column];
要传递数组是不可能的,所以我想到了使用指针指针。
- (void)doSomethingWithArray:(int **)array columns:(int)nColumns rows:(int)nRows
{
int item = array[n][m];
}
但是当我尝试将数组作为参数传递时,我遇到了问题
int array[numberOfRows][numberOfColumns];
[someObject doSomethingWithArray:array columns:numberOfColumns rows:numberOfRows];
,我发现了很多提示&技巧,但不知怎的,没有什么真正能按照我想要的方式使用它。
感谢您的帮助, 埃尼
I'm trying to pass a two-dimensional array, which size can be dynamic, as a method argument.
Within the method I'd like to use the array with the general array syntax.
int item = array[row][column];
To pass the array is not possible, so I thought about to use a pointer pointer.
- (void)doSomethingWithArray:(int **)array columns:(int)nColumns rows:(int)nRows
{
int item = array[n][m];
}
But I get the problem when I try to pass the array as the parameter
int array[numberOfRows][numberOfColumns];
[someObject doSomethingWithArray:array columns:numberOfColumns rows:numberOfRows];
I found a lot of tips & tricks, but somehow nothing really works in the way I would like to use it.
Thanks for help,
Eny
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Objective-c 是基于 C99 的吗?
如果是,您可以使用“新”语法来直接传递维度信息。
您可以看到在 ideone 上运行的代码。
Is objective-c based on C99?
If it is, you can use the "new" syntax that allows you to pass dimension information directly.
You can see the code running on ideone.