字符数组的作用

字符数组的作用

  1. # 具体遇到的问题
    http://img1.sycdn.imooc.com//climg/5f914b2b0936a4b002770183.jpg

这里cbuf数组的作用是存储循环每一次所读取到的字符吗,如果是的话,为什么要设置数组长度为10呢?只存储当前独到的字符,长度为1就够了呀,不太理解求老师解答

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,是的,read()是每次都读取一个数据字节,但在课程演示中,老师使用的不是这个read()方法,而是read(byte[] b)方法

http://img1.sycdn.imooc.com//climg/5f915ec70938b66606980096.jpg

这里的read(cbuf) ,也就是read(byte[] b),通过isr.read(cbuf)将数据读取到字节数组cbuf中,比如cbuf数组长度为10,那么每次读取到的字节数也就是10,当数组长度为1时,每次读取到的字节数就是1。

http://img1.sycdn.imooc.com//climg/5f916087092e320006140250.jpg

http://img1.sycdn.imooc.com//climg/5f91609609d731bc08220339.jpg

综上所述,cbuf数组的长度就是每次读取到的字节数量

好帮手慕小脸 2020-10-22 18:00:27

同学你好,

1、char[] cbuf=new char[10]:是为了将字符读入到char类型的数组中,也就是声明一个char类型的数组,用来存放每次读取的数据

2、这里的10是可以自己定义的,并没有强制要求必须写10,但要注意一点:定义数组长度过大时,可能会出现内存不足等情况,导致异常。

  • read()每次不是只读取一个字符吗,相当于每次数组只存储读出来的那一个字符,所以我的理解是数组长度为1和10都是一样的效果,经过测试二者输出也是一样的,所以不知道数组长度设为10的意义,不知道老师是否了解我的意思
    2020-10-22 18:12:26
  • 老师我好像明白了,数组长度越长,表示可以一次读取多个字符进入数组,减少io次数以提升效率吗?
    2020-10-22 18:44:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师