问题标签 [memmove]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 为什么`memmove`使用`void *`作为参数而不是`char *`?
c库函数的定义memmove
如下:
我想知道为什么我们需要使用void*
和const void*
作为参数的类型。为什么不直接char*
和const char*
?
更新
输出:test_case = {1, 2, 3, 4, 3, 4, 5, 6, 10}
c++ - 将 memmove 函数应用于 3d 数组
我正在尝试使用for
循环在 c++ 中实现 fftshift 函数(来自 MATLAB),这真的很耗时。这是我的代码:
现在我想重写它memmove
以提高运行效率。对于第三维,我使用:
此代码适用于 1d 和 2d 数组,但不适用于 3d 数组。另外,我不知道如何移动列和行元素memmove
。任何人都可以帮助我解决所有这些问题吗?非常感谢!!
现在我修改了代码如下:
但问题是我定义了太多新的动态数组,而且 tempa3 的结果也不正确。有人可以提出一些建议吗?
for-loop - 反向迭代、for 或 while 循环哪个更快?
我正在尝试memmove
在 Rust 中实现标准函数,我想知道哪种方法对于向下迭代(其中src
< dest
)更快:
或者
rev()
循环中的版本会for
显着减慢它吗?
c++ - 不同数组之间的 memcpy 或 memmove
我正在阅读有关 memcpy 和 memmove 的一些信息,如果我没记错的话,您可以将两者用于在不同数组之间移动内存。
所以这是我的问题:如果我想用这种方法连接这些对象。
因此,从"listToConcatenate->vector"
哪个开始,我们将使用 复制其中的所有元素,"(listToConcatenate->n)*sizeof(int))"
并将其放在另一个数组的末尾"this->vector + n"
。
这不应该是正确的list2.listToConcatenate(&list1);
吗?当然,假设我们有足够的空间。
如果不是,那么正确的方法是什么?这可以用 memcpy 完成吗?
谢谢你。
编辑:我想我需要补充一点,这不适用于我的程序。它不会崩溃,但似乎什么也没做。
c - C 中的 Memmove() 将结果打印两次
我在玩 memmove,我明白它是如何工作的。但每当最终结果包含的内容超过原始源大小时,它就会打印出一堆随机数。例如:
abcdefdefgbdefggh
当它应该给我的时候给我输出
abcdefdefg
为什么其他字符被添加到str中?
c++ - 使用 realloc() 使 memmove() 安全
在我的函数中替换一个子字符串。如果输入子串比原始子串长,它会将输入串的一部分移出,为输入子串腾出空间。
我理解这会导致未定义的行为。我认为我应该能够使用 realloc() 分配所需的空间,但没有成功。
我尝试在 memmove() 之前添加这个:
这是一个合理的策略吗?为该操作腾出空间的正确方法是什么?
这是不使用 realloc() 的程序:
c - 在 arrayList 中的特定位置插入值
所以我试图向arraylist添加一个特定的值。程序可以工作,但是当我检查是否添加了值时,我每次都得到相同的数字。
vector - Rust 中向量的元素如何左移?
有没有一种安全的方法可以在 Rust 中左移向量的元素?(左移两个位置时vec![1, 2, 3]
变为)。vec![3]
我正在处理Copy
类型,我不想支付比使用memmove
.
我发现的唯一解决方案是不安全的:memmove
直接通过ptr::copy
.
c - 马尔可夫链。实现添加方法
我对实施中的下一个声明有点困惑:
mmemove(前缀, 前缀 + 1, (NPREF - 1) * sizeof(prefix[0]));
所以prefix是一个char类型的指针。在这个术语中,前缀 + 1 是指向数组中下一个字符的链接,不是吗?
它是如何以正确的方式工作的?我已经阅读了 memmove 并阅读了指针,但无法为自己探索这个添加函数的行为。