strcpy(name,L)是怎么回事?

char *Namelist *Lstrcpy(name,L)是什么意思?
2025-03-01 13:24:09
推荐回答(1个)
回答1:

strcpy 只是把一个指针的内容复制到另外一个指针,与memcpy的区别在于
strcpy 在复制内容的时候会识别 0x00 ,当发现有 0x00 的数据时就会停止复制,

其实对于指针而言,无论什么类型的指针,都只不过是一个内存地址而已,
在32位系统中指针大小为32位,64位系统里,指针大小为64位,对于内存内容而言,
无论什么结构或类型的数据放到内存中,都被视为一个个字节所组成的空间而已,
如果要做内存复制操作,也就是一个字节一个字节的读取写入的过程,memcpy是根据
最后一个参数确定要复制需要循环的字节数量,而strcpy则是自动判断出现0x00停止循环
而已。还有就是你的语句在用的时候可能有问题,需要强制转换一下类型说明,如:
strcpy(name,(char *)L);

否则系统会提示你类型不符,编译出错。