博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
memset()一般是对字符型数组赋初值,如果非要对整型数组赋初值,只能赋值0....
阅读量:6470 次
发布时间:2019-06-23

本文共 541 字,大约阅读时间需要 1 分钟。

摘要

memset()一般是对字符型数组赋初值,如果非要对整型数组赋初值,只能赋值0.

原因是memset()是设置每一个“字节”的值。

问题

用memset将二维整型数组全部设置为最大整型时遇到的问题及解决办法

#define MAX 100000const int MAXN = 5; int len[MAXN][MAXN]; memset(len,MAX,sizeof(len));//失败,并不能让len数组所有的值是100000,而是-1600085856memset(len,-1,sizeof(len))//成功,并且len所有的值都是-1;memset(len,-2,sizeof(len))//失败

解释

sizeof(len) = 100sizeof(len) != 25memset是按字节赋值的。memset是内存操作,作用是设置每一个“字节”的值。第一个参数是内存地址,第2个参数是设置的值(0x00 - 0xff),第3个参数是字节数。

除了将整型数组设置为0,否则用memset对非字符型数组赋初值是不可取的!

使用memset将二维数组全部设置为一个值

char array[][];

memset(array,'A',sizeof(array));

转载地址:http://tujko.baihongyu.com/

你可能感兴趣的文章
第三十九天
查看>>
Redis详解
查看>>
论程序员加班的害处
查看>>
codeblocks快捷键
查看>>
基于HTML5的WebGL设计汉诺塔3D游戏
查看>>
WPF资料链接
查看>>
过滤DataTable表中的重复数据
查看>>
再次更新
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围
查看>>
移动铁通宽带上网设置教程
查看>>
Python算法(含源代码下载)
查看>>
利用Windows自带的Certutil查看文件MD5
查看>>
通过原生js添加div和css
查看>>
查询指定名称的文件
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
开篇,博客的申请理由
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
centos 7 部署LDAP服务
查看>>
iOS项目分层
查看>>