我有这个:
void duplication(int **tab1, int **tab2, int n, int m)
目标是将 tab1 复制到 tab2 中,因此我将得到相同的两个表。
我该怎么做,因为我知道使用 tab2 = tab1
在我的情况下不起作用:)
抱歉,如果这是一个愚蠢的问题,我实际上正在学习 C!
谢谢。
最佳答案
假设 n 和 m 是维度,并且您知道哪一个适用于哪个维度,您需要一个像这样的双循环:
for ( int x = 0; x < n; ++x )
{
for ( int y = 0; y < m; ++y )
{
tab2[x][y] = tab1[x][y];
}
}
这是我根据您提供的函数的文档所做的一些重大假设,但希望代码能让您了解需要做什么,并且您可以在正确的位置替换正确的变量。
为了进一步引用,与这种数据复制相关的术语是所谓的“深层复制”。在处理指针时,复制指针值通常是不够的,而且通常是不安全的。如果您想了解有关此类代码的更多引用,请搜索“深层复制”
关于c - 如何在C中实现变量的dup函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527928/