发布网友 发布时间:2022-04-23 15:58
共2个回答
热心网友 时间:2023-06-26 02:57
因为des 和src是个void* ,对于void*是不能做偏移运算的,所以把它转换为char*热心网友 时间:2023-06-26 02:57
因为string.h里面定义的mem系列函数,都是按字节处理的,跟一个char的长度相等追答怎么说呢,从逻辑上来讲,特意转化成char *没有意义
但是void *类型指针本来就是不指向任何数据的指针,所以这类指针不允许操作数据
你要是想操作被指向的数据,必须得进行一次类型转换
之所以有这种矛盾的存在意义,不指向数据的指针
是因为C语言是强类型语言,而且C语言本身不支持模板
为了提供灵活性,就是偏弱类型的指针,这样能够具有更好的通用性,也能减少传递参数的损耗