信息
- 头文件
- string.h
- 函 数
- void *memset
- 应用学科
- 计算机
- 别 名
- 初始化函数
- 适用领域
- C/C++
- 中文名
- memset函数
- 原 型
- (void *s,int ch,size_t n);
- 外文名
- memset
- 表达式
- memset(void *s,int ch,size_t n);
memset函数介绍
void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
[1]
。memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.
-
memset函数
2017-12-10 15:58:33memset函数2017-12-10
memset函数的头文件为cstring
/* Set N bytes of S to C. */ extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); 意思是:将S开始长度为N字节的位置赋值为C
代码
#include<iostream> #include<cstring> using namespace std; const int N = 10; int x[N+1]; char y[N+1]; int main(){ memset(y,65,sizeof(y)); cout<<"1."<<y[1]<<endl; memset(y,97,sizeof(y)); cout<<"2."<<y[1]<<endl; memset(y,100,sizeof(y)); cout<<"3."<<y[1]<<endl; memset(x,0,sizeof(x)); cout<<"4."<<x[1]<<endl; memset(x,1,sizeof(x)); cout<<"5."<<x[1]<<endl; memset(x,-1,sizeof(x)); cout<<"6."<<x[1]<<endl; return 0; }
我们得到的结果为: 1.A 2.a 3.d 4.0 5.16843009 6.-1 对于字节而言,我们直接得到整数对应的字符,但是对于多字节的整数而言,可能就和我们想的不一样了... 如果赋值为0的话,四个字节全为0,即为0... 如果赋值为1的话,四个字节全为1,转换为十六进制即为0x01010101... 如果赋值为-1的话,四个字节全为-1,转换为十六进制即为0xffffffff,即为-1...
如果是指针的话我们也要慎用memset了
收藏数
5,197
精华内容
2,078