关于memset的错误使用
我们在使用memset进行初始化的时候,经常会使用这种方式,memset(a,0,sizeof(a)),这让我们误以为将其初始化其他值也可以,实际是错误的。
void print_arr(unsigned short* ptr)
{
    for(int i = 0;i< 5;++i)
    {
        cout<<*(ptr+i)<<endl;
    }
}
void main()
{
    unsigned short a[5]={0};
    memset(a,1,sizeof(a));
    print_arr(a);
    cin.get();
}

这是因为memset是针对字节的,short为两个字节,所有每个数组内元素的实际值是0x0101,也就是257,所以对于多字节数组或结构体等元素的初始化,memset是不适用的,而对于unsigned char,则是适用的
走过的坑,记录一下
关于memset的错误使用的更多相关文章
- 关于memset的使用
		有些oj上的G++支持 cstdio的memset,有些则支持stdio.h中的memset(划掉) 这两个头文件关系比较复杂, 具体我也说不清...按照c++文档中的说法,stdio已经deprec ... 
- gdb各种调试命令和技巧
		陈皓:用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台 ... 
- 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)
		航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ... 
- memset 导致的段错误(segmentation fault)
		在调试Minixml库时,定义了一个结构体: struct ssid_info_s{ std::string wl_ssid_name; std::string wl_ssid_mac; std::s ... 
- memset 导致的一个段错误
		原型: void *memset(void *s, int c, size_t n); 解释: memset :是 逐字节 拷贝,即n是指整个变量所占字节,在用于数组时一定要注意n不一定是 数组元素. ... 
- ORA   各种oraclesql错误
		ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ... 
- 安装PHP sphinx扩展 sphinx-1.1.0/sphinx.c:105:2: error: too few arguments 错误
		表现: /home/sphinx-1.1.0/sphinx.c: In function 'php_sphinx_client_read_property':/home/sphinx-1.1.0/sp ... 
- linux socket连接中 ERRNO错误
		Connection refused:应该是连接的服务端没有启动或者连接端口错误,可以用如下代码测试 client端: #include <stdio.h> #include <sy ... 
- memset 的实现分析
		memset 是 msvcrt 中的一个函数,其作用和用途是显而易见的,通常是对一段内存进行填充,就其作用本身不具有任何歧义性.但就有人一定要纠结对数组的初始化一定要写成如下形式: int a[... ... 
随机推荐
- Oracle 的几种循环方式介绍
			1 Oracle 中的Goto 用法: declare x number; begin x:=10; --定义的初始值 <<repeat_loop>> --循环点 x:= x- ... 
- CSS内嵌样式实现打字效果
			<style> *{margin:0;padding:0;} @keyframes typing { from { width: 0; } } @keyframes blink-caret ... 
- Vue中通过v-for动态添加图片地址
			由于组件化问题,webpake在打包以后,src目录下的assets里面存放的img图片,路径已经更换.很多入坑的前端程序员在使用的时候,可能专破头也弄不清地址是什么个情况: 这里在使用vue-cli ... 
- position的四个属性值
			1.relative2.absolute3.fixed4.static下面分别讲述这四个属性. <div id="parent"> <div id="s ... 
- wpf 命令
			上图为命令的 示例 
- Problem: 棋盘小游戏(一道有意思的acm入门题
			Problem Description 现有一个2行13列的棋盘,棋盘上的任意一个位置可以向他临近的8个位置移动.棋盘上的每一个位置的标号由一个大写的英文字母表示.现在给你一个移动的顺序,问你如何设置 ... 
- 1.django项目的创建(在CMD中)
			django项目的创建(在CMD中) 1.切换到你想要存储项目的位置,我这里保存在桌面上 cd Desktop 2.创建一个django项目,项目名叫guest django-admin startp ... 
- scrapy安装问题记录
			ubuntu小白一枚,由于对于ubuntu的不了解所以导致有的问题解决不了只能白痴的重装一遍. 总结一下问题: 1.pip安装自带scrapy版本过低官方不提供维护,卸载不完全导致重装最新版不成功 # ... 
- github项目
			一.github项目地址: https://github.com/fairy1231/gitLearning/tree/master 二.github的重要性: Git 是一个快速.可扩展的分布式版本 ... 
- 前端axios下载excel(二进制)
			需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件 实现:axios(ajax类似) 主要代码: axios:设置返回数据格式为blob或者arraybuffer 如: var ... 
