String的最大允许长度是多少
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
C语言中,字符串长度包含/0么
c语言字符串长度不算。 例如,“ABCD”的字符串长度为4,但是存储它的字符数组元素个数,应该>=5。 即至少是char s[5]; C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
\0是字符串结束符,仅占用存储空间,但不算作有效的字符,系统函数strlen(chars[]),仅返回'\0'之前的字符个数。而关键字sizeof返回的是真个字符串包含'\0'在内占用的字节数。请注意strlen是函数,而sizeof是C/C++关键字。
串的长度范围
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。