1.我也曾天真的以为 memset(a,0,sizeof(a))中的0可以用任意数替换

实际上这是错误的

memset的功能是将一快内存中的内容以单个字节逐个拷贝的方式放到指定的内存中去。

2.介绍几个常用的

memset(a,-1,sizeof(a)) 每个都会变为-1

memset(a,0,sizeof(a)) 每个都会变为0

memset(a,0xnfnfnfnf,sizeof(a)) 每个都会变为0xnfnfnfnf

memset(a,0xnf,sizeof(a)) 每个都会变为0xnfnfnfnf (可以看到简化了上面那句) 我们一般用n=3的情况(防止溢出)

memset(a,0x3f,sizeof(a)) 每个都会变为0x3f3f3f3f (可以看到简化了上面那句)

memset(a,127,sizeof(a)) 每个都会变为1061109567

memset(a,63,sizeof(a)) 每个都会变为1061109567 也看到过有人写下面的

memset(a,127/3,sizeof(a)) 每个都会变为707406378 无穷大的值可采用上面的这些方法

memset(a,128,sizeof(a)) 每个都会变为-2139062144 无穷小的值

解释: 128 (128的二进制是10000000)

则放的是10000000 10000000 10000000 10000000 (转化为十进制)

因为最高位是1 所以是负数,因为这是补码,还原成原码

补码 10000000 10000000 10000000 10000000

反码 11111111 01111111 01111111 01111111 符号位不变,按位取反

原码 11111111 01111111 01111111 10000000 +1

---------------------

作者:god_speed丶

来源:CSDN 原文:https://blog.csdn.net/qq_38677814/article/details/80771514

版权声明:本文为博主原创文章,转载请附上博文链接!

memset函数怎么用嘞↓↓↓的更多相关文章

  1. memset函数详解

    语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关  功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...

  2. 深入学习 memset 函数

    最近,和同学讨论了一下memset函数,趁着周五空闲做一总结. memset函数最常用的功能就是初始化数组了(主要是置零),如 #include <iostream> #include & ...

  3. strcpy, memcpy, memset函数

    一. strcpy函数 原型声明:char *strcpy(char* dest, const char *src);   头文件:#include <string.h> 和 #inclu ...

  4. memset函数具体说明

    1.void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c. 2.样例#include void main(){char ...

  5. C/C++中memset函数

    本文学习参考http://baike.baidu.com/link?url=ZmSyY8ciB_nJt9KM-W2fiEFJrC2mugFsLqRdY2b4pLe8rD_jRXyN7_pj0GBBD2 ...

  6. C语言中的memset函数和数组指针

    代码: #include <iostream> #include <cstring> using namespace std; int main(){ ] = {}; mems ...

  7. memset函数的使用

    void *memset(void *s, int ch, size_t n); 说明:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 关于mem ...

  8. c/c++学习系列之memset()函数

    [转载] memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的: 包含在<string.h>头文件中,可以用它对一片内存空间逐字节进行初始化: 原型为 : void *mems ...

  9. 关于memset函数--赋最大值

    问题起源: 这几天在刷CCF的时候,图论那边经常用到赋最大值,一开始自己一直手工for循环赋值(INT_MAX或者是LONG_LONG_MAX),后来看到别人的代码,发现了一个比较高端的赋值  mem ...

随机推荐

  1. Tuxera NTFS 2018 for Mac中文破解版 U盘读写软件-让你的Mac支持NTFS

    下载链接(复制到浏览器下载):http://h5ip.cn/TLMc 软件介绍 给大家带来一款苹果Mac上如何使用U盘读写的软件,Tuxera NTFS 2018 for Mac中文破解版,Mac O ...

  2. Python处理图片

    # -*- coding: UTF-8 -*- from PIL import Image import os import sys reload(sys) sys.setdefaultencodin ...

  3. SpringCloud-分布式配置中心【加密-非对称加密】

    案例代码:https://github.com/q279583842q/springcloud-e-book 非对称加密 一.什么是非对称加密(Asymmetric encryption) 二.Jav ...

  4. Java打印实心、空心的三角形和菱形

    1.实心三角形 代码: import java.util.Scanner; public class Test { public static void main(String[] args) { i ...

  5. SLAM方向公众号、知乎、博客上有哪些大V可以关注?

    一.公众号 泡泡机器人:泡泡机器人由一帮热爱探索并立志推广机器人同时定位与地图构建(SLAM)技术的极客创办而成,通过原创文章.公开课等方式分享SLAM领域的数学理论.编程实践和学术前沿. ​ 经典文 ...

  6. 【Mac】Mac快捷键与Mac下的Idea快捷键

             本人之前一直在windows平台下进行开发,刚接触Mac的时候有些许的不适应,无论是无鼠标操作,还是文件系统的变更,以及键盘格式以及系统快捷键的变更,都曾对自己造成过一定程度的困扰. ...

  7. 建立自己composer私有仓库

    创建仓库地址以gitee为例,主要github太慢 本地建立一个项目目录,然后初始化 composer init 然后根路径下创建src/util目录 修改composer.json,设置autolo ...

  8. ASP.NET Core on K8S学习初探(2)K8S基本概念快速一览

    在上一篇<单节点环境搭建>中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S ...

  9. shell遍历文件

    取文件每行的数据,需要按列取  可以 sed 加管道 使用 awk 取列 platform="list.txt" line=`grep -vc '^$' $platform` ; ...

  10. [apue] popen/pclose 疑点解惑

    问题请看这里: [apue] 使用 popen/pclose 的一点疑问 当时怀疑是pclose关闭了使用完成的管道,因此在pclose之前加一个足够长的sleep,再次观察进程文件列表: 哈哈,这下 ...