gpt4 book ai didi

比较两个内存块之间的值是否相等

转载 作者:太空宇宙 更新时间:2023-11-04 00:02:01 24 4
gpt4 key购买 nike

这是我实现kmean 算法的一部分。我有两个大小相等的内存块,因此 *cluster_center 是当前的集群中心,*new_centroids 代表在对集群点进行平均后的新质心:

double *cluster_center = malloc((k * dim) * sizeof(double));
double *new_centroids = malloc((k * dim) * sizeof(double));

我有以下循环将结果从 new_centroids 毫无问题地复制到 cluster_center:

for (int i = 0; i < k; ++i) {
memcpy(&cluster_center[i * dim], &new_centroids[i * dim], dim * sizeof(double));
}

事实上,我想知道 C 是否有内置函数来比较两个 block 的,因为我想在 *new_centroids*cluster_center 相同(即没有改变)。我真的不知道该怎么做。

谢谢

最佳答案

您要查找的函数是memcmp(内存比较)。执行语句后立即:

memcpy(destination, source, size);

然后

memcmp(destination, source, size);

应该返回零。

关于比较两个内存块之间的值是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com