C语言的strcpy函数和memcpy函数的区别

strcpy函数和memcpy函数的区别如下:

1)复制的内容不同。strcpy函数只能复制字符串,而memcpy函数可以复制任意内容,例如字符数组、整型、结构体等;

2)用途不同。通常在复制字符串时用strcpy函数,而需要复制其他类型数据时则一般用memcpy函数;

3)复制方法不同。strcpy函数不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy函数则是根据其第三个参数决定复制的长度。

例:

1)memcpy函数用来做内存拷贝,可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度。如:

char a[100];
char b[50];
memcpy(b, a, sizeof(b));  //如用sizeof(a),会造成b的内存地址溢出
2)strcpy函数只能拷贝字符串,它遇到'\0'就结束拷贝。如:
char a[100];
char b[50];
strcpy(a, b);
注:如用strcpy(b, a),要注意a中的字符串长度(第一个‘\0’之前)是否超过50byte,如超过,会造成b的内存地址溢出。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值