memory.h学记
2016-04-05 20:05
197 查看
memory.h学记
1.介绍:
功能:提供内存操作函数
函数:
extern void *memchr(const void *buffer, int ch, size_t count);
extern void *memcpy();
extern void *memset();
extern int memcmp();
2.函数介绍:
1).memchr(const void *buffer, int ch, size_t count):
功能:buffer数组指针,在指定数组的count个字符的字符串里查找ch 首次出现的位置。返回一个指针,指向ch 在字符串中首次出现的位置, 如果ch 没有在字符串中找到,返回NULL。
示例:char str[20]="hello,world.";
if(!memchr(str,'w',strlen(str)))
printf("find error");
2).memcpy(void *b1,void *b2,size_t n):
功能:拷贝b2所指的内存内容前n个字节到b1所指的内存地址上,与<string.h>中的strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束 .
示例:s1="s1",s2="s2";memcpy(s1,s2,strlen(s2));将s2内容拷贝到S1;
3).memset(void *b1,int ch,size_t n )
功能:作用是在一段内存块中(b1所指)填充某个给定的值(ch),它对较大的结构体或数组进行清零操作的一种最快方法。
示例: char s[20];memset(s,0,sizeof(char)*20);
4.memcmp(void *b1,void *b2,size_t count):
功能:比较b1和b2所指字符串中指定的前count个字符区域。
比较:
strcmp:strcmp比较的字符串;strcmp需要时刻检查是否遇到了字符串结束的 \0 字符;strcmp在比较四字节是逐字节比较,
memcmp:memcmp比较的是内存块,memcmp无须检查'\0';memcmp用了字符串比较指令,在字符串较大的情况下,字符串比较指令比用逐字节比较好。
示例:s1="hello.",s2="helli.";memcmp(s1,s2,strlen(s1));
1.介绍:
功能:提供内存操作函数
函数:
extern void *memchr(const void *buffer, int ch, size_t count);
extern void *memcpy();
extern void *memset();
extern int memcmp();
2.函数介绍:
1).memchr(const void *buffer, int ch, size_t count):
功能:buffer数组指针,在指定数组的count个字符的字符串里查找ch 首次出现的位置。返回一个指针,指向ch 在字符串中首次出现的位置, 如果ch 没有在字符串中找到,返回NULL。
示例:char str[20]="hello,world.";
if(!memchr(str,'w',strlen(str)))
printf("find error");
2).memcpy(void *b1,void *b2,size_t n):
功能:拷贝b2所指的内存内容前n个字节到b1所指的内存地址上,与<string.h>中的strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束 .
示例:s1="s1",s2="s2";memcpy(s1,s2,strlen(s2));将s2内容拷贝到S1;
3).memset(void *b1,int ch,size_t n )
功能:作用是在一段内存块中(b1所指)填充某个给定的值(ch),它对较大的结构体或数组进行清零操作的一种最快方法。
示例: char s[20];memset(s,0,sizeof(char)*20);
4.memcmp(void *b1,void *b2,size_t count):
功能:比较b1和b2所指字符串中指定的前count个字符区域。
比较:
strcmp:strcmp比较的字符串;strcmp需要时刻检查是否遇到了字符串结束的 \0 字符;strcmp在比较四字节是逐字节比较,
memcmp:memcmp比较的是内存块,memcmp无须检查'\0';memcmp用了字符串比较指令,在字符串较大的情况下,字符串比较指令比用逐字节比较好。
示例:s1="hello.",s2="helli.";memcmp(s1,s2,strlen(s1));
相关文章推荐
- leetcode之house Robber
- 隐藏(删除) Preference 小结
- 方法和类
- 【Android】[转] Android中Bitmap,byte[],Drawable相互转化
- 物联网网络编程和web编程
- Android之ActionBar
- codeforces_600C. Make Palindrome(贪心)
- Unity中的Path对应各平台中的Path
- Action参数绑定
- Navicat的1045mysql Access denied for user \'root\'@\'localhost\'”解决办法总结
- kvo
- 基于划分的聚类----K-means算法使用(R语言)
- 创建自己的本地yum仓库
- 【Netty】实现Netty4的web socket服务,比如聊天室的原型
- GDAL安装及介绍
- ZMY_webview
- 默认没有创建两次定时实例的
- Android AS平台jni环境配置
- 图像平滑处理(滤波)
- 拦截器和过滤器的区别?