目录
1. 内存函数和字符串函数区别
字符串操作函数:都是针对字符串、大多数都和 \0 有关
但是如果操作的对象是整型数组、结构体或者浮点型数组,字符串操作的函数就起不到作用了
例如:拷贝一个整型数组
- 首先,类型不兼容,会报警告
- 然后,1在内存按小端的存储是:01 00 00 00
- 因为strcpy操作是char* ,那么一次可以访问一个字节,当访问到第二个 00 的时候,就相当于 \0 停止拷贝了
- 所以,最后只能拷贝1过去
2. 内存拷贝-memcpy
注意:
- 拷贝的个数单位是字节
- 也可以num这样写:sizeof(int)拷贝一个整型
- void* 任意类型
- memcpy 内存重叠的时候容易出错
C语言标准:
memcpy 处理不重叠内容拷贝
memmove 处理重叠内容的拷贝
模拟实现:
3. memmove
和memcpy类型用法
4. 内存比较-memcmp
这里int占4个字节。所以只比较arr数组的前两个数
5. 内存设置-memset