我在编译时不知道数组大小,所以我声明了一个变量 count 并创建了一个数组 arr[count][count],我将在程序运行时增加这个 count 变量,并且在执行此操作之前我将重新分配它的内存。但我无法创建一个接受 arr[count][count] 的函数。我怎样才能做到这一点 ?当我这样做时:
void add_friend(int friends[][*count], int p1, int p2)
{
}
编译器给出错误:此处未声明计数。
最佳答案
你不能直接做你所要求的事情,至少在C中不能。但是正如@millimoose所建议的,如果你知道尺寸(可以作为整数传递),你可以做一些算术来找出 friend 在哪里[p1][p2] 是。如果每行有 C 个元素,那么您就知道 Friends[r][0] 是从 Friends 开始的 C*r 个整数,并且可以将该行视为一个简单的 int 数组。
关于c - 将二维动态数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20962291/