零基础C语言学习日志19(C语言内存函数)
目录
memcpy函数的使用与模拟实现
模拟实现
memmove函数的使用与模拟实现
模拟实现
memcmp函数的使用
memset的使用
memcpy函数的使用与模拟实现
函数 memcpy 从 source 的位置开始向后复制 num 个字节的数据到 destination 指向的内存位置
这个函数在遇到 '\0’ 的时候并不会停下来。
如果 source 和 destination 有任何的重叠,复制的结果都是未定义的。
只关注要拷贝的数据在哪里,要存放到哪里,拷贝几个字节。至于内存中存放什么数据,什么类型的数据,都不重要!!!
模拟实现
memmove函数的使用与模拟实现
和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。
如果源空间和目标空间出现重叠,就得使用memmove函数处理。
模拟实现
memcmp函数的使用
memset的使用
memset 是用来设置内存的,将内存中的值以字节为单位设置成想要的内容。
注意:memset设置时是按字节为单位设置的,设置整形时每个字节都被设置成了01,所以打印结果为16843009,而字符数组一个字符本身只占一个字节,所以没问题。(这里的sizeof可以不用写,我只是为了让arr2看起来好看)