C语言只有字符数组,且字符数组以\0
结尾。
char str[]=”test”; //这个占5个字节
为什么是5个字节,因为C语言的标准输出函数printf
对字符串进行输出时,会判断当前字符是不是\0
,如果是\0
的话,就停止输出。
在java中字符串不是以\0
作为结束依据。
Java里面一切都是对象,是对象的话,字符串肯定就有长度,即然有长度,编译器就可以确定要输出的字符个数,当然也就没有必要去浪费那1字节的空间用以标明字符串的结束了。(String类有length()方法)
String源码