memset函数理解
来源:互联网 发布:iphone照片导入mac路径 编辑:程序博客网 时间:2024/06/10 17:17
原型:extern void *memset(void *buffer, int c, int count);
功能:把buffer所指内存区域的前count个字节设置成字符c。
包含头文件:<string.h>
说明:返回指向buffer的指针。
注意这个函数是字符串函数,所以一定要包含字符串头文件。
使用方法:
1、memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);
2、memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));
3、memset可以方便的清空一个结构类型的变量或数组。
如:
struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};
对于变量
struct sample_strcut stTest;
一般情况下,清空stTest的方法:
stTest.csName[0]='/0';
stTest.iSeq=0;
stTest.iType=0;
用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));
如果是数组:
struct sample_struct TEST[10];
则
memset(TEST,0,sizeof(struct sample_struct)*10);
当然不是所有情况都有清空。有时如果不清空,可能会在测试当中出现野值。
例二:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char a[5];
memset(a,'1',5);
for(int i = 0;i < 5;i++)
cout<<a[i]<<" ";
system("pause");
return 0;
}
注意memset操作时char型的。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int a[5];
memset(a,1,5);//这里改成memset(a,1,5 *sizeof(int))也是不可以的
for(int i = 0;i < 5;i++)
cout<<a[i]<<" ";
system("pause");
return 0;
}
需把memset(a,1,5);改成memset(a,1,20);即可。
- memset函数理解
- 对memset函数的一点理解
- memset函数
- memset函数
- memset()函数
- memset函数
- memset 函数
- memset函数
- memset() 函数
- memset函数
- memset函数
- memset函数
- memset 函数
- memset函数
- memset 函数
- memset函数
- memset函数
- memset 函数
- git实践
- GitHub上最火的40个Android开源项目
- 一个面试官经常问到的题,将两个数组合并到一个数组中,并排序。
- 项目中用到的增强合集
- presentViewController和pushViewController ---关于视图跳转的总结
- memset函数理解
- 使用ssh-keygen设置ssh无密码登录
- 内核宏ALIGN的含义
- Klocwork 静态代码检查工具
- 如何判断是linux/windows库,module或程序debug还是release
- STL之set使用方法小结
- MULE ESB中custom,flows,connectors等的使用方法
- 《android 4高级编程》--android简介
- 文件流操作