【发布时间】:2011-10-19 21:22:17
【问题描述】:
在 C 程序中,我有两个指向浮点数据的双指针:
float **source;
float **dest;
在运行时,大小已设置并且相同。我想将数据从源复制到目标,但源数据是交错的,我希望 dest 是数据的非交错副本。所以 source 可能看起来像:
1 5 2 6 3 7 4 8
在副本中,我希望 dest 看起来像:
1 2 3 4 5 6 7 8
如果我在编译时知道数据的大小,我可以创建维度数组 MxN 和 NxM,但我不知道。我大脑中的“C 指针”部分已经好几年没用过了,而且已经很生锈了。任何帮助将不胜感激。
【问题讨论】:
-
如果这是关于矩阵转置并且您可以使用一维数组,那么有一个简单的公式。
-
你读过comp.lang.c FAQ的第6部分吗?
-
source 和 dest 是指针,而不是数字,所以它们不可能像您描述的那样。它们指向一些包含指向其他内存的指针的内存,而其他内存包含数字。因此,如果不描述这些中间指针是什么样的(以及有多少),您的问题就没有任何意义。
-
你的意思是你有两个浮点数组的数组,并且直到运行时你才知道任何数组的大小?
标签: c sorting double-pointer