memset函数

来源:互联网 发布:华为商务软件 编辑:程序博客网 时间:2024/05/18 02:04

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.A2.a3.d4.05.168430096.-1对于字节而言,我们直接得到整数对应的字符,但是对于多字节的整数而言,可能就和我们想的不一样了...如果赋值为0的话,四个字节全为0,即为0...如果赋值为1的话,四个字节全为1,转换为十六进制即为0x01010101...如果赋值为-1的话,四个字节全为-1,转换为十六进制即为0xffffffff,即为-1...
如果是指针的话我们也要慎用memset
原创粉丝点击