memset函数

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值