我想问一下,数组长度不是不能变吗,为什么我创建一个长度为0的数组也可以储存文件内容?
下面是我以Java写的代码,运行后可以将内容储存到bytes数组中
FileInputStream fis = new FileInputStream(f);
Long filelength = f.length();
byte[] bytes = new byte[0];
bytes=fis.readNBytes(Math.toIntExact(filelength));
bytes=fis.readNBytes(Math.toIntExact(filelength));
这个fis.readNBytes(Math.toIntExact(filelength));返回值覆盖了之前的byte数组
不可以
不可以,你存入之后程序表面不会报错,但运行之后必报错,下标越界
其实电脑开机后物理内存的每个字节中都有值且都是可读写的,从来不会因为所谓的new、delete或malloc、free而被创建、销毁。区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。