C语言中的memcpy与strcpy函数使用

本文介绍了C语言中的memcpy和strcpy函数,两者都用于拷贝数据,但适用场景不同。strcpy主要针对字符串拷贝,存在溢出风险,而memcpy适用于任意内存块的拷贝,更安全且广泛应用于结构体等复杂数据类型。
摘要由CSDN通过智能技术生成

今天给大家介绍一下C语言中的memcpy与strcpy函数使用。首先,这两个函数都是包含在string.h的头文件中的,因此使用前需要包含头文件string.h。

一,strcpy函数的用法

strcpy主要是用于字符串的拷贝。函数原型:

char * strcpy ( char * destination, const char * source );

目的是将source所指向的字符串,拷贝到destination所指的内存空间,注意destination和source所指对象的数据类型只能是字符串。strncpy函数是其安全形式,可以避免destination所指内存空间不够而导致溢出,其函数原型为:

char * strncpy ( char * destination, const char * source, size_t num );

二,memcpy函数的用法

memcpy是内存块拷贝函数,内存块中存放的既可以是单一的基本数据类型,也可以是多种基本数据类型组合而成的结构体等。下面来看个例子:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>

typedef struct {
	char name[20];
	int age;
	int sex; // 1 for man, 0 for woman
}Student;

int main() {
	Student *s1,*s2;
	s1 = NULL;
	s2 = NULL;

	s1 = (Student*)malloc(sizeof(S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值