课后作业S1E8求助
这个char name中的256是什么意思呢?这也不需要256个数啊 很随便的一个数字,你写 1024 2048 4096 都行
如果你要输入的名字是 3 个字符,这里的数字只要 大于等于 4 就可以了
这是设置数组的大小,使用的时候只要不超过这个上限就可以了 人造人 发表于 2021-6-22 16:13
很随便的一个数字,你写 1024 2048 4096 都行
如果你要输入的名字是 3 个字符,这里的数字只要 大于等于 4 ...
一个汉字是一个字符嘛 预留位置,防止数组越界
18234075077 发表于 2021-6-22 18:07
一个汉字是一个字符嘛
不一定,有可能是1个,也有可能是2个,看你运行环境的配置
数组的大小呀一般设置大一点防止溢出
#define SIZE256
用宏定义更好只需要修改一处 万千只cnm 发表于 2021-6-22 18:31
数组的大小呀一般设置大一点防止溢出
#define SIZE256
用宏定义更好只需要修改一处
谢谢 18234075077 发表于 2021-6-22 23:15
谢谢
能给个最佳吗 看了各位大佬的回答,还想想说下我自己的理解,也算是复习一下子,嘻嘻。
你定义数组的时候,它的大小就是固定不可变的,虚拟机会在堆内存中开辟出对应大小的连续的内存空间,而内存空间的大小由数组的数据类型来决定,你定义的数组大小只是规定了在堆中有多少个这样的内存空间,比如,题主的是char类型的256大小的数组name,则会在堆内存中开辟一个256连续大小的空间,每个空间的大小为char数据类型的大小,其余的String,int,double等都是同样的道理,堆中空间开辟完成之后会在栈中生成一个引用,指向堆中的数组,我们在对数组进行赋值,更换值等操作都是对栈中引用的操作,然后根据栈去调用堆中具体数组的值。{:10_275:} 人造人 发表于 2021-6-22 18:22
不一定,有可能是1个,也有可能是2个,看你运行环境的配置
关于汉字和英文单词对应的字节数,这个跟具体的文字编码有关,分别如下:
英文字母:
字节数 : 1;编码:GB2312
字节数 : 1;编码:GBK
字节数 : 1;编码:GB18030
字节数 : 1;编码:ISO-8859-1
字节数 : 1;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE
中文汉字:
字节数 : 2;编码:GB2312
字节数 : 2;编码:GBK
字节数 : 2;编码:GB18030
字节数 : 1;编码:ISO-8859-1
字节数 : 3;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE 连帅帅 发表于 2021-6-29 09:50
关于汉字和英文单词对应的字节数,这个跟具体的文字编码有关,分别如下:
嗯,明白了,感谢
页:
[1]