量子泡沫 2021-12-28 17:06 采纳率: 0%
浏览 31

C语言中memcpy的参数顺序设计思想是什么?为什么这样设计?

用过C语言的strcpy的同学可能有这样一个疑问:为什么是strcpy(目标地址,源地址)这样的顺序呢?这样很不方便呀。通常不都是(源地址,目的地址)吗?“copy A to B”,这样更符合习惯用法呀。

后来我上网查了一下,说是设计者想和memcpy保持同步:

char *strcpy(char* dest, const char *src);

void *memcpy(void *dest, void *src, unsigned n);

如果是(源地址,字节数,目的地址)这样明明更符合习惯呀:“从源地址复制N字节到目的地址”。那么问题来了:为什么memcpy的函数签名是这样设计的呢?

  • 写回答

1条回答 默认 最新

  • 想想小农 2021-12-28 17:46
    关注

    简单说这就老外的逻辑
    不是我们自己的开发语言
    你可以以发明出属于我们自己的开发语言为目标
    那个时候就是我们自己的逻辑,就没有这方面的纠结了

    评论

报告相同问题?

问题事件

  • 创建了问题 12月28日

悬赏问题

  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开